UNPKG

1.02 kBJavaScriptView Raw
1class UTRError extends Error {
2 get code () { return this._code }
3
4 constructor (error, details) {
5 super()
6 this.name = `UTRError:${error.name}`
7 this._code = error.code
8 if (details) {
9 this.message = details
10 } else {
11 this.message = error.name
12 }
13 }
14}
15
16const errors = [{
17 name: 'GENERIC'
18}, {
19 name: 'NPM_FAILED'
20}, {
21 name: 'MISSING_OR_INVALID_BROWSER_CAPABILITIES'
22}, {
23 name: 'BROWSER_PROBE_FAILED'
24}, {
25 name: 'BROWSER_FAILED'
26}, {
27 name: 'BROWSER_SCREENSHOT_FAILED'
28}, {
29 name: 'BROWSER_SCREENSHOT_TIMEOUT'
30}, {
31 name: 'BROWSER_SCREENSHOT_NOT_SUPPORTED'
32}, {
33 name: 'QUNIT_ERROR'
34}, {
35 name: 'MODE_INCOMPATIBLE_OPTION'
36}, {
37 name: 'BROWSER_MISS_SCRIPTS_CAPABILITY'
38}, {
39 name: 'NPM_DEPENDENCY_NOT_FOUND'
40}, {
41 name: 'NYC_FAILED'
42}]
43
44errors.forEach((error, index) => {
45 error.code = -1 - index
46 UTRError[`${error.name}_CODE`] = error.code
47 UTRError[error.name] = function (details = '') {
48 return new UTRError(error, details)
49 }
50})
51
52module.exports = {
53 UTRError
54}