'use strict' var VMessage = require('vfile-message') var VFile = require('./core.js') module.exports = VFile VFile.prototype.message = message VFile.prototype.info = info VFile.prototype.fail = fail // Create a message with `reason` at `position`. // When an error is passed in as `reason`, copies the stack. function message(reason, position, origin) { var message = new VMessage(reason, position, origin) if (this.path) { message.name = this.path + ':' + message.name message.file = this.path } message.fatal = false this.messages.push(message) return message } // Fail: creates a vmessage, associates it with the file, and throws it. function fail() { var message = this.message.apply(this, arguments) message.fatal = true throw message } // Info: creates a vmessage, associates it with the file, and marks the fatality // as null. function info() { var message = this.message.apply(this, arguments) message.fatal = null return message }