aboutsummaryrefslogtreecommitdiff
path: root/node_modules/hullabaloo-config-manager/lib/errors.js
blob: 6ecc2e283723bfc8893678263aa62fb217808e06 (plain)
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
38
39
40
41
42
43
44
45
46
47
48
'use strict'

const ExtendableError = require('es6-error')

class SourceError extends ExtendableError {
  constructor (message, source, parent) {
    super(`${source}: ${message}`)
    this.source = source
    this.parent = parent || null
  }
}
exports.SourceError = SourceError

class NoSourceFileError extends SourceError {
  constructor (source) {
    super('No such file', source)
  }
}
exports.NoSourceFileError = NoSourceFileError

class ParseError extends SourceError {
  constructor (source, parent) {
    super(`Error while parsing — ${parent.message}`, source, parent)
  }
}
exports.ParseError = ParseError

class InvalidFileError extends SourceError {
  constructor (source) {
    super('Not a proper configuration file', source)
  }
}
exports.InvalidFileError = InvalidFileError

class ExtendsError extends SourceError {
  constructor (source, clause, parent) {
    super(`Couldn't resolve extends clause: ${clause}`, source, parent)
    this.clause = clause
  }
}
exports.ExtendsError = ExtendsError

class BadDependencyError extends SourceError {
  constructor (source, parent) {
    super("Couldn't resolve dependency", source, parent)
  }
}
exports.BadDependencyError = BadDependencyError