mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-10 21:01:41 +00:00
update
This commit is contained in:
49
node_modules/pug-error/index.js
generated
vendored
Normal file
49
node_modules/pug-error/index.js
generated
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = makeError;
|
||||
function makeError(code, message, options) {
|
||||
var line = options.line;
|
||||
var column = options.column;
|
||||
var filename = options.filename;
|
||||
var src = options.src;
|
||||
var fullMessage;
|
||||
var location = line + (column ? ':' + column : '');
|
||||
if (src && line >= 1 && line <= src.split('\n').length) {
|
||||
var lines = src.split('\n');
|
||||
var start = Math.max(line - 3, 0);
|
||||
var end = Math.min(lines.length, line + 3);
|
||||
// Error context
|
||||
var context = lines.slice(start, end).map(function(text, i){
|
||||
var curr = i + start + 1;
|
||||
var preamble = (curr == line ? ' > ' : ' ')
|
||||
+ curr
|
||||
+ '| ';
|
||||
var out = preamble + text;
|
||||
if (curr === line && column > 0) {
|
||||
out += '\n';
|
||||
out += Array(preamble.length + column).join('-') + '^';
|
||||
}
|
||||
return out;
|
||||
}).join('\n');
|
||||
fullMessage = (filename || 'Pug') + ':' + location + '\n' + context + '\n\n' + message;
|
||||
} else {
|
||||
fullMessage = (filename || 'Pug') + ':' + location + '\n\n' + message;
|
||||
}
|
||||
var err = new Error(fullMessage);
|
||||
err.code = 'PUG:' + code;
|
||||
err.msg = message;
|
||||
err.line = line;
|
||||
err.column = column;
|
||||
err.filename = filename;
|
||||
err.src = src;
|
||||
err.toJSON = function () {
|
||||
return {
|
||||
code: this.code,
|
||||
msg: this.msg,
|
||||
line: this.line,
|
||||
column: this.column,
|
||||
filename: this.filename
|
||||
};
|
||||
};
|
||||
return err;
|
||||
}
|
Reference in New Issue
Block a user