UNPKG

@smash-sdk/core

Version:

Smash Sdk Core

78 lines (77 loc) 2.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InvalidHostError = exports.InvalidRegionError = exports.InvalidRegionOrHostError = exports.InvalidSdkConfigurationError = exports.ConnectionAbortedError = exports.TimeoutError = exports.NetworkError = exports.UnknownError = exports.SDKError = void 0; class SDKError extends Error { constructor(error) { super(); if (typeof error === 'string') { this.name = "SDKError"; this.message = error; } else if (error instanceof Error) { this.name = error.name; this.message = error.message; this.stack = error.stack; } else if (error.name) { this.message = error.error; Object.assign(this, error); this.stack = SDKError.stringifiedStack(); } else { this.name = 'Unknown SDK error'; this.message = 'Unknown SDK error'; } } static stack() { if (Array.isArray(new Error().stack)) { const prepareStackTrace = Error.prepareStackTrace; Error.prepareStackTrace = (_, stack) => stack; const stack = (new Error().stack).filter(s => !!s.getFileName()); while (stack[0].getFileName().indexOf("sdkError") >= 0) { stack.shift(); } while (stack[0].getFileName().indexOf("@smash-sdk") >= 0) { stack.shift(); } Error.prepareStackTrace = prepareStackTrace; return stack; } else { return new Error().stack; } } static stringifiedStack() { if (Array.isArray(SDKError.stack())) { return SDKError.stack().join("\n"); } else { return new Error().stack; } } } exports.SDKError = SDKError; class UnknownError extends SDKError { } exports.UnknownError = UnknownError; class NetworkError extends SDKError { } exports.NetworkError = NetworkError; class TimeoutError extends SDKError { } exports.TimeoutError = TimeoutError; class ConnectionAbortedError extends SDKError { } exports.ConnectionAbortedError = ConnectionAbortedError; class InvalidSdkConfigurationError extends SDKError { } exports.InvalidSdkConfigurationError = InvalidSdkConfigurationError; class InvalidRegionOrHostError extends InvalidSdkConfigurationError { } exports.InvalidRegionOrHostError = InvalidRegionOrHostError; class InvalidRegionError extends InvalidRegionOrHostError { } exports.InvalidRegionError = InvalidRegionError; class InvalidHostError extends InvalidRegionOrHostError { } exports.InvalidHostError = InvalidHostError;