You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
739 B
37 lines
739 B
'use strict' |
|
|
|
class Warning { |
|
constructor(text, opts = {}) { |
|
this.type = 'warning' |
|
this.text = text |
|
|
|
if (opts.node && opts.node.source) { |
|
let range = opts.node.rangeBy(opts) |
|
this.line = range.start.line |
|
this.column = range.start.column |
|
this.endLine = range.end.line |
|
this.endColumn = range.end.column |
|
} |
|
|
|
for (let opt in opts) this[opt] = opts[opt] |
|
} |
|
|
|
toString() { |
|
if (this.node) { |
|
return this.node.error(this.text, { |
|
plugin: this.plugin, |
|
index: this.index, |
|
word: this.word |
|
}).message |
|
} |
|
|
|
if (this.plugin) { |
|
return this.plugin + ': ' + this.text |
|
} |
|
|
|
return this.text |
|
} |
|
} |
|
|
|
module.exports = Warning |
|
Warning.default = Warning
|
|
|