UNPKG

739 BJavaScriptView Raw
1'use strict'
2
3class Warning {
4 constructor(text, opts = {}) {
5 this.type = 'warning'
6 this.text = text
7
8 if (opts.node && opts.node.source) {
9 let range = opts.node.rangeBy(opts)
10 this.line = range.start.line
11 this.column = range.start.column
12 this.endLine = range.end.line
13 this.endColumn = range.end.column
14 }
15
16 for (let opt in opts) this[opt] = opts[opt]
17 }
18
19 toString() {
20 if (this.node) {
21 return this.node.error(this.text, {
22 plugin: this.plugin,
23 index: this.index,
24 word: this.word
25 }).message
26 }
27
28 if (this.plugin) {
29 return this.plugin + ': ' + this.text
30 }
31
32 return this.text
33 }
34}
35
36module.exports = Warning
37Warning.default = Warning