agora-rest-client
Version:
Node.js REST client for Agora
35 lines (34 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GenericError = void 0;
class GenericError extends Error {
constructor(namespace, code, error) {
super();
this.options = {};
this.namespace = namespace;
this.code = code;
this.message = error.message;
this.name = error.name;
this.stack = error.stack;
}
static wrapError(namespace, code, error, options) {
let err;
if (error instanceof GenericError && error.code !== -1) {
err = error;
}
else {
err = new GenericError(namespace, code, error);
}
if (options) {
err.options = Object.assign(err.options, options);
}
return err;
}
static wrapMessage(namespace, code, name, message, options) {
const e = new Error(message);
e.name = name;
const err = GenericError.wrapError(namespace, code, e, options);
return err;
}
}
exports.GenericError = GenericError;