|
|
@ -1,42 +1,55 @@ |
|
|
|
'use strict'; |
|
|
|
|
|
|
|
var util = require('util'); |
|
|
|
var assert = require('assert') |
|
|
|
var RedisError = require('redis-parser').RedisError |
|
|
|
var ADD_STACKTRACE = false |
|
|
|
|
|
|
|
function AbortError (obj) { |
|
|
|
Error.captureStackTrace(this, this.constructor); |
|
|
|
function AbortError (obj, stack) { |
|
|
|
assert(obj, 'The options argument is required') |
|
|
|
assert.strictEqual(typeof obj, 'object', 'The options argument has to be of type object') |
|
|
|
|
|
|
|
RedisError.call(this, obj.message, ADD_STACKTRACE) |
|
|
|
Object.defineProperty(this, 'message', { |
|
|
|
value: obj.message || '', |
|
|
|
configurable: true, |
|
|
|
writable: true |
|
|
|
}); |
|
|
|
if (stack || stack === undefined) { |
|
|
|
Error.captureStackTrace(this, AbortError) |
|
|
|
} |
|
|
|
for (var keys = Object.keys(obj), key = keys.pop(); key; key = keys.pop()) { |
|
|
|
this[key] = obj[key]; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function AggregateError (obj) { |
|
|
|
Error.captureStackTrace(this, this.constructor); |
|
|
|
assert(obj, 'The options argument is required') |
|
|
|
assert.strictEqual(typeof obj, 'object', 'The options argument has to be of type object') |
|
|
|
|
|
|
|
AbortError.call(this, obj, ADD_STACKTRACE) |
|
|
|
Object.defineProperty(this, 'message', { |
|
|
|
value: obj.message || '', |
|
|
|
configurable: true, |
|
|
|
writable: true |
|
|
|
}); |
|
|
|
Error.captureStackTrace(this, AggregateError); |
|
|
|
for (var keys = Object.keys(obj), key = keys.pop(); key; key = keys.pop()) { |
|
|
|
this[key] = obj[key]; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
util.inherits(AbortError, Error); |
|
|
|
util.inherits(AbortError, RedisError); |
|
|
|
util.inherits(AggregateError, AbortError); |
|
|
|
|
|
|
|
Object.defineProperty(AbortError.prototype, 'name', { |
|
|
|
value: 'AbortError', |
|
|
|
// configurable: true,
|
|
|
|
configurable: true, |
|
|
|
writable: true |
|
|
|
}); |
|
|
|
Object.defineProperty(AggregateError.prototype, 'name', { |
|
|
|
value: 'AggregateError', |
|
|
|
// configurable: true,
|
|
|
|
configurable: true, |
|
|
|
writable: true |
|
|
|
}); |
|
|
|
|
|
|
|