UNPKG

@datastax/astra-db-ts

Version:
221 lines (220 loc) 8.23 kB
// Copyright Datastax, Inc // SPDX-License-Identifier: Apache-2.0 var _CollectionInsertManyError_partialResult, _CollectionInsertManyError_causes, _TableInsertManyError_partialResult, _TableInsertManyError_causes; import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib"; import { Timeouts } from '../lib/api/timeouts/timeouts.js'; import { NonErrorError } from '../lib/errors.js'; export class DataAPIError extends Error { withTransientDupesForEvents() { return this; } } export class DataAPIHttpError extends DataAPIError { constructor(resp) { super(`HTTP error (${resp.status}): ${resp.body ? resp.body : resp.statusText}`); Object.defineProperty(this, "status", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "body", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "raw", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.status = resp.status; this.body = resp.body; this.raw = resp; this.name = 'DataAPIHttpError'; } } export class DataAPITimeoutError extends DataAPIError { constructor(info, types) { super(Timeouts.fmtTimeoutMsg(info.timeoutManager, types)); 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.timeout = info.timeoutManager.initial(); this.timedOutCategories = types; this.name = 'DataAPITimeoutError'; } static mk(info, types) { return new DataAPITimeoutError(info, types); } } export class TooManyDocumentsToCountError extends DataAPIError { constructor(limit, hitServerLimit) { const message = (hitServerLimit) ? `Too many documents to count (server limit of ${limit} reached)` : `Too many documents to count (provided limit is ${limit})`; super(message); Object.defineProperty(this, "limit", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "hitServerLimit", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.limit = limit; this.hitServerLimit = hitServerLimit; this.name = 'TooManyDocumentsToCountError'; } } export class DataAPIResponseError extends DataAPIError { constructor(command, rawResponse) { const errorDescriptors = rawResponse.errors; const message = (errorDescriptors[0]?.message) ? `${errorDescriptors[0].message}${errorDescriptors.length > 1 ? ` (+ ${errorDescriptors.length - 1} more errors)` : ''}` : `Something went wrong (${errorDescriptors.length} errors)`; super(message); Object.defineProperty(this, "command", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "rawResponse", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.name = 'DataAPIResponseError'; this.command = command; this.rawResponse = rawResponse; } get errorDescriptors() { return this.rawResponse.errors; } get warnings() { return this.rawResponse.warnings ?? []; } withTransientDupesForEvents() { return { name: this.name }; } } export class CollectionInsertManyError extends DataAPIError { constructor(causes, partRes) { super(mkInsertManyErrorMsg(causes)); Object.defineProperty(this, "name", { enumerable: true, configurable: true, writable: true, value: 'CollectionInsertManyError' }); _CollectionInsertManyError_partialResult.set(this, void 0); _CollectionInsertManyError_causes.set(this, void 0); __classPrivateFieldSet(this, _CollectionInsertManyError_partialResult, partRes, "f"); __classPrivateFieldSet(this, _CollectionInsertManyError_causes, causes, "f"); } insertedIds() { return __classPrivateFieldGet(this, _CollectionInsertManyError_partialResult, "f").insertedIds; } errors() { return __classPrivateFieldGet(this, _CollectionInsertManyError_causes, "f"); } } _CollectionInsertManyError_partialResult = new WeakMap(), _CollectionInsertManyError_causes = new WeakMap(); export class TableInsertManyError extends DataAPIError { constructor(causes, partRes) { super(mkInsertManyErrorMsg(causes)); Object.defineProperty(this, "name", { enumerable: true, configurable: true, writable: true, value: 'TableInsertManyError' }); _TableInsertManyError_partialResult.set(this, void 0); _TableInsertManyError_causes.set(this, void 0); __classPrivateFieldSet(this, _TableInsertManyError_partialResult, partRes, "f"); __classPrivateFieldSet(this, _TableInsertManyError_causes, causes, "f"); } insertedIds() { return __classPrivateFieldGet(this, _TableInsertManyError_partialResult, "f").insertedIds; } errors() { return __classPrivateFieldGet(this, _TableInsertManyError_causes, "f"); } } _TableInsertManyError_partialResult = new WeakMap(), _TableInsertManyError_causes = new WeakMap(); export class CollectionUpdateManyError extends DataAPIError { constructor(cause, partialRes) { const errorCause = NonErrorError.asError(cause); super(errorCause.message); Object.defineProperty(this, "name", { enumerable: true, configurable: true, writable: true, value: 'CollectionUpdateManyError' }); Object.defineProperty(this, "partialResult", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "cause", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.partialResult = partialRes; this.cause = errorCause; } } export class CollectionDeleteManyError extends DataAPIError { constructor(cause, partialRes) { const errorCause = NonErrorError.asError(cause); super(errorCause.message); Object.defineProperty(this, "name", { enumerable: true, configurable: true, writable: true, value: 'CollectionDeleteManyError' }); Object.defineProperty(this, "partialResult", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "cause", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.partialResult = partialRes; this.cause = errorCause; } } function mkInsertManyErrorMsg(causes) { const errorDescriptor = causes[0].errorDescriptors[0]; const numErrors = causes.reduce((acc, e) => acc + e.errorDescriptors.length, 0); return (errorDescriptor?.message) ? `${errorDescriptor.message}${numErrors > 1 ? ` (+ ${numErrors - 1} more errors)` : ''}` : `Something went wrong (${numErrors} errors)`; }