@datastax/astra-db-ts
Version:
Data API TypeScript client
35 lines (34 loc) • 1.25 kB
JavaScript
;
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
// noinspection ExceptionCaughtLocallyJS
Object.defineProperty(exports, "__esModule", { value: true });
exports.NonErrorError = void 0;
const utils_js_1 = require("../documents/utils.js");
const utils_js_2 = require("../lib/utils.js");
class NonErrorError extends Error {
constructor(value) {
const valueType = (0, utils_js_1.betterTypeOf)(value);
try {
const valueString = (0, utils_js_2.jsonTryStringify)(value, `${value}`);
super(`Non-error value thrown; type='${valueType}' toString='${value}' JSON.stringified='${valueString}'`);
Object.defineProperty(this, "value", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
}
catch (_) {
super(`Non-error value thrown; type='${valueType}'`); // catch to prevent property tests from failing if obj toString is not a function
}
this.value = value;
}
static asError(e) {
if (e instanceof Error) {
return e;
}
return new NonErrorError(e);
}
}
exports.NonErrorError = NonErrorError;