You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-09 00:22:08 +03:00
60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
'use strict'
|
|
|
|
var util = require('util')
|
|
var assert = require('assert')
|
|
var RedisError = require('redis-parser').RedisError
|
|
var ADD_STACKTRACE = false
|
|
|
|
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) {
|
|
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, RedisError)
|
|
util.inherits(AggregateError, AbortError)
|
|
|
|
Object.defineProperty(AbortError.prototype, 'name', {
|
|
value: 'AbortError',
|
|
configurable: true,
|
|
writable: true
|
|
})
|
|
Object.defineProperty(AggregateError.prototype, 'name', {
|
|
value: 'AggregateError',
|
|
configurable: true,
|
|
writable: true
|
|
})
|
|
|
|
module.exports = {
|
|
AbortError: AbortError,
|
|
AggregateError: AggregateError
|
|
}
|