@datastax/astra-db-ts
Version:
Data API TypeScript client
81 lines (80 loc) • 2.8 kB
JavaScript
;
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
Object.defineProperty(exports, "__esModule", { value: true });
exports.DevOpsAPIResponseError = exports.DevOpsAPITimeoutError = exports.DevOpsAPIError = void 0;
const timeouts_js_1 = require("../lib/api/timeouts/timeouts.js");
class DevOpsAPIError extends Error {
}
exports.DevOpsAPIError = DevOpsAPIError;
class DevOpsAPITimeoutError extends DevOpsAPIError {
constructor(info, types) {
super(timeouts_js_1.Timeouts.fmtTimeoutMsg(info.timeoutManager, types));
Object.defineProperty(this, "url", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "timeout", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "timedOutCategories", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.url = info.url;
this.timeout = info.timeoutManager.initial();
this.timedOutCategories = types;
this.name = 'DevOpsAPITimeoutError';
}
static mk(info, types) {
return new DevOpsAPITimeoutError(info, types);
}
}
exports.DevOpsAPITimeoutError = DevOpsAPITimeoutError;
class DevOpsAPIResponseError extends DevOpsAPIError {
constructor(resp, data) {
const errors = data?.errors ?? [];
const maybeMsg = errors.find((e) => e.message)?.message;
const message = (maybeMsg)
? `${maybeMsg}${errors.length > 1 ? ` (+ ${errors.length - 1} more errors)` : ''}`
: `Something went wrong (${errors.length} errors)`;
super(message);
Object.defineProperty(this, "errors", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "status", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "raw", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.errors = extractErrorDescriptors(data);
this.status = resp.status;
this.raw = resp;
this.name = 'DevOpsAPIResponseError';
}
}
exports.DevOpsAPIResponseError = DevOpsAPIResponseError;
function extractErrorDescriptors(data) {
const errors = data?.errors || [];
return errors.map((e) => ({
id: e.ID,
message: e.message,
}));
}