UNPKG

@fullstory/server-api-client

Version:

The official FullStory server API client SDK for NodeJS.

55 lines 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toError = exports.FSBaseError = exports.FSErrorName = void 0; var FSErrorName; (function (FSErrorName) { FSErrorName["ERROR_UNKNOWN"] = "FS_UNKNOWN"; FSErrorName["ERROR_TIMEOUT"] = "FS_TIMEOUT"; FSErrorName["ERROR_MAX_RETRY"] = "FS_MAX_RETRY"; // for 429 rate limited FSErrorName["ERROR_RATE_LIMITED"] = "FS_RATE_LIMITED"; // for non-2xx responses, except 429 FSErrorName["ERROR_FULLSTORY"] = "FS_FULLSTORY_API"; // for 2xx responses but unable to parse body into response object FSErrorName["ERROR_PARSE_RESPONSE"] = "FS_ERROR_PARSE_RESPONSE"; FSErrorName["ERROR_INVALID_ARGUMENT"] = "FS_ERROR_INVALID_ARGUMENT"; })(FSErrorName = exports.FSErrorName || (exports.FSErrorName = {})); class FSBaseError extends Error { constructor(name, message, cause) { super(message); this.discriminator = 'FSError'; this.name = name; this.message = message; this.cause = toError(cause); } chain(err) { this.prependStackTrace(err.stack); return this; } canRetry() { return false; } getRetryAfter() { return 0; } prependStackTrace(additionalStack) { if (additionalStack) { this.stack = additionalStack + '\nFrom previous:\n' + this.stack; } } setFSErrorPayload(payload) { this.fsErrorPayload = payload; } addAdditionalProperties(additionalProps) { // add all additional data, ignore if already set. for (const key in additionalProps) { if (!Object.prototype.hasOwnProperty.call(this, key)) { this[key] = additionalProps[key]; } } } } exports.FSBaseError = FSBaseError; function toError(e) { if (!e) return; return e instanceof Error ? e : new Error(String(e)); } exports.toError = toError; //# sourceMappingURL=base.js.map