60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.7 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
 | 
						|
};
 |