whycq
2024-03-28 cb5354ffdce249a49213a0430316e607c6002da7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
'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, {
        index: this.index,
        plugin: this.plugin,
        word: this.word
      }).message
    }
 
    if (this.plugin) {
      return this.plugin + ': ' + this.text
    }
 
    return this.text
  }
}
 
module.exports = Warning
Warning.default = Warning