UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

142 lines (140 loc) 14.9 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/errors/cbor.ts var cbor_exports = {}; __export(cbor_exports, { CborDecodeStreamAbortFailedError: () => CborDecodeStreamAbortFailedError, CborError: () => CborError, CborMaxDepthReachedError: () => CborMaxDepthReachedError, CborMemoryBlockConflictError: () => CborMemoryBlockConflictError, CborMemoryBlockError: () => CborMemoryBlockError, CborMemoryBlockInUseError: () => CborMemoryBlockInUseError, CborMemoryError: () => CborMemoryError, CborSyntaxError: () => CborSyntaxError, CborTooLittleDataError: () => CborTooLittleDataError, CborTooMuchDataError: () => CborTooMuchDataError, CborUndefinedMemoryBlockError: () => CborUndefinedMemoryBlockError, CborUnsafeMapKeyError: () => CborUnsafeMapKeyError, CborWellFormednessError: () => CborWellFormednessError }); module.exports = __toCommonJS(cbor_exports); var import_general = require("./general.cjs"); var _CborError = class _CborError extends import_general.SurrealError { }; __name(_CborError, "CborError"); _CborError.prototype.name = "CborError"; var CborError = _CborError; var _CborWellFormednessError = class _CborWellFormednessError extends CborError { }; __name(_CborWellFormednessError, "CborWellFormednessError"); _CborWellFormednessError.prototype.name = "CborWellFormednessError"; var CborWellFormednessError = _CborWellFormednessError; var _CborTooMuchDataError = class _CborTooMuchDataError extends CborWellFormednessError { constructor(options) { super("Unconsumed input bytes remain after decoding.", options); } }; __name(_CborTooMuchDataError, "CborTooMuchDataError"); _CborTooMuchDataError.prototype.name = "CborTooMuchDataError"; var CborTooMuchDataError = _CborTooMuchDataError; var _CborTooLittleDataError = class _CborTooLittleDataError extends CborWellFormednessError { constructor(options) { super( "Input data appears truncated or incomplete for CBOR decoding.", options ); } }; __name(_CborTooLittleDataError, "CborTooLittleDataError"); _CborTooLittleDataError.prototype.name = "CborTooLittleDataError"; var CborTooLittleDataError = _CborTooLittleDataError; var _CborSyntaxError = class _CborSyntaxError extends CborWellFormednessError { }; __name(_CborSyntaxError, "CborSyntaxError"); _CborSyntaxError.prototype.name = "CborSyntaxError"; var CborSyntaxError = _CborSyntaxError; var _CborMaxDepthReachedError = class _CborMaxDepthReachedError extends CborError { constructor(maxDepth, options) { super(`Maximum depth of ${maxDepth} has been reached.`, options); this.maxDepth = maxDepth; } }; __name(_CborMaxDepthReachedError, "CborMaxDepthReachedError"); _CborMaxDepthReachedError.prototype.name = "CborMaxDepthReachedError"; var CborMaxDepthReachedError = _CborMaxDepthReachedError; var _CborUnsafeMapKeyError = class _CborUnsafeMapKeyError extends CborError { constructor(key, options) { super( `Invalid key for CBOR map: ${String(key)}. The key must be a valid CBOR data type that is safe to use in a JavaScript map or object.`, options ); this.key = key; } }; __name(_CborUnsafeMapKeyError, "CborUnsafeMapKeyError"); _CborUnsafeMapKeyError.prototype.name = "CborUnsafeMapKeyError"; var CborUnsafeMapKeyError = _CborUnsafeMapKeyError; var _CborDecodeStreamAbortFailedError = class _CborDecodeStreamAbortFailedError extends CborError { constructor(errors, options) { super("Failed to abort decode-stream", options); this.cause = errors.slice(); } }; __name(_CborDecodeStreamAbortFailedError, "CborDecodeStreamAbortFailedError"); _CborDecodeStreamAbortFailedError.prototype.name = "CborStreamAbortFailedError"; var CborDecodeStreamAbortFailedError = _CborDecodeStreamAbortFailedError; var _CborMemoryError = class _CborMemoryError extends CborError { }; __name(_CborMemoryError, "CborMemoryError"); _CborMemoryError.prototype.name = "CborMemoryError"; var CborMemoryError = _CborMemoryError; var _CborMemoryBlockError = class _CborMemoryBlockError extends CborError { }; __name(_CborMemoryBlockError, "CborMemoryBlockError"); _CborMemoryBlockError.prototype.name = "CborMemoryBlockError"; var CborMemoryBlockError = _CborMemoryBlockError; var _CborMemoryBlockConflictError = class _CborMemoryBlockConflictError extends CborMemoryBlockError { constructor(address, expectedSize, actualSize) { super( `Memory conflict at address ${address}: Expected size ${expectedSize}, but found ${actualSize}.` ); this.address = address; this.expectedSize = expectedSize; this.actualSize = actualSize; } }; __name(_CborMemoryBlockConflictError, "CborMemoryBlockConflictError"); _CborMemoryBlockConflictError.prototype.name = "CborMemoryBlockConflictError"; var CborMemoryBlockConflictError = _CborMemoryBlockConflictError; var _CborMemoryBlockInUseError = class _CborMemoryBlockInUseError extends CborMemoryBlockError { }; __name(_CborMemoryBlockInUseError, "CborMemoryBlockInUseError"); _CborMemoryBlockInUseError.prototype.name = "CborMemoryBlockInUseError"; var CborMemoryBlockInUseError = _CborMemoryBlockInUseError; var _CborUndefinedMemoryBlockError = class _CborUndefinedMemoryBlockError extends CborMemoryBlockError { constructor(address) { super(`Memory block at address ${address} is not defined.`); this.address = address; } }; __name(_CborUndefinedMemoryBlockError, "CborUndefinedMemoryBlockError"); _CborUndefinedMemoryBlockError.prototype.name = "CborUndefinedMemoryBlockError"; var CborUndefinedMemoryBlockError = _CborUndefinedMemoryBlockError; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2Vycm9ycy9jYm9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBTdXJyZWFsRXJyb3IsIHR5cGUgU3VycmVhbEVycm9yT3B0aW9ucyB9IGZyb20gXCIuL2dlbmVyYWxcIjtcblxuLyoqXG4gKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly90YWkta3VuLmdpdGh1Yi5pby9zdXJyZWFsZGIuanMvdjIvZ3VpZGVzL2Vycm9ycy8jY2JvcmVycm9yKVxuICovXG5leHBvcnQgY2xhc3MgQ2JvckVycm9yIGV4dGVuZHMgU3VycmVhbEVycm9yIHtcbiAgc3RhdGljIHtcbiAgICB0aGlzLnByb3RvdHlwZS5uYW1lID0gXCJDYm9yRXJyb3JcIjtcbiAgfVxufVxuXG4vLyBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzg5NDkjbmFtZS13ZWxsLWZvcm1lZG5lc3MtZXJyb3JzLWFuZC1cbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2d1aWRlcy9lcnJvcnMvI2Nib3J3ZWxsZm9ybWVkbmVzc2Vycm9yKVxuICovXG5leHBvcnQgY2xhc3MgQ2JvcldlbGxGb3JtZWRuZXNzRXJyb3IgZXh0ZW5kcyBDYm9yRXJyb3Ige1xuICBzdGF0aWMge1xuICAgIHRoaXMucHJvdG90eXBlLm5hbWUgPSBcIkNib3JXZWxsRm9ybWVkbmVzc0Vycm9yXCI7XG4gIH1cbn1cblxuLy8gaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM4OTQ5I3NlY3Rpb24tYXBwZW5kaXguZi0yLjJcbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2d1aWRlcy9lcnJvcnMvI2Nib3J0b29tdWNoZGF0YWVycm9yKVxuICovXG5leHBvcnQgY2xhc3MgQ2JvclRvb011Y2hEYXRhRXJyb3IgZXh0ZW5kcyBDYm9yV2VsbEZvcm1lZG5lc3NFcnJvciB7XG4gIHN0YXRpYyB7XG4gICAgdGhpcy5wcm90b3R5cGUubmFtZSA9IFwiQ2JvclRvb011Y2hEYXRhRXJyb3JcIjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBTdXJyZWFsRXJyb3JPcHRpb25zIHwgdW5kZWZpbmVkKSB7XG4gICAgc3VwZXIoXCJVbmNvbnN1bWVkIGlucHV0IGJ5dGVzIHJlbWFpbiBhZnRlciBkZWNvZGluZy5cIiwgb3B0aW9ucyk7XG4gIH1cbn1cblxuLy8gaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM4OTQ5I3NlY3Rpb24tYXBwZW5kaXguZi0yLjRcbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2d1aWRlcy9lcnJvcnMvI2Nib3J0b29saXR0bGVkYXRhZXJyb3IpXG4gKi9cbmV4cG9ydCBjbGFzcyBDYm9yVG9vTGl0dGxlRGF0YUVycm9yIGV4dGVuZHMgQ2JvcldlbGxGb3JtZWRuZXNzRXJyb3Ige1xuICBzdGF0aWMge1xuICAgIHRoaXMucHJvdG90eXBlLm5hbWUgPSBcIkNib3JUb29MaXR0bGVEYXRhRXJyb3JcIjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBTdXJyZWFsRXJyb3JPcHRpb25zIHwgdW5kZWZpbmVkKSB7XG4gICAgc3VwZXIoXG4gICAgICBcIklucHV0IGRhdGEgYXBwZWFycyB0cnVuY2F0ZWQgb3IgaW5jb21wbGV0ZSBmb3IgQ0JPUiBkZWNvZGluZy5cIixcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzg5NDkjc2VjdGlvbi1hcHBlbmRpeC5mLTIuNlxuLyoqXG4gKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly90YWkta3VuLmdpdGh1Yi5pby9zdXJyZWFsZGIuanMvdjIvZ3VpZGVzL2Vycm9ycy8jY2JvcnN5bnRheGVycm9yKVxuICovXG5leHBvcnQgY2xhc3MgQ2JvclN5bnRheEVycm9yIGV4dGVuZHMgQ2JvcldlbGxGb3JtZWRuZXNzRXJyb3Ige1xuICBzdGF0aWMge1xuICAgIHRoaXMucHJvdG90eXBlLm5hbWUgPSBcIkNib3JTeW50YXhFcnJvclwiO1xuICB9XG59XG5cbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2d1aWRlcy9lcnJvcnMvI2Nib3JtYXhkZXB0aHJlYWNoZWRlcnJvcilcbiAqL1xuZXhwb3J0IGNsYXNzIENib3JNYXhEZXB0aFJlYWNoZWRFcnJvciBleHRlbmRzIENib3JFcnJvciB7XG4gIHN0YXRpYyB7XG4gICAgdGhpcy5wcm90b3R5cGUubmFtZSA9IFwiQ2Jvck1heERlcHRoUmVhY2hlZEVycm9yXCI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbWF4RGVwdGg6IG51bWJlcixcbiAgICBvcHRpb25zPzogU3VycmVhbEVycm9yT3B0aW9ucyB8IHVuZGVmaW5lZCxcbiAgKSB7XG4gICAgc3VwZXIoYE1heGltdW0gZGVwdGggb2YgJHttYXhEZXB0aH0gaGFzIGJlZW4gcmVhY2hlZC5gLCBvcHRpb25zKTtcbiAgfVxufVxuXG4vKipcbiAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL3RhaS1rdW4uZ2l0aHViLmlvL3N1cnJlYWxkYi5qcy92Mi9ndWlkZXMvZXJyb3JzLyNjYm9ydW5zYWZlbWFwa2V5ZXJyb3IpXG4gKi9cbmV4cG9ydCBjbGFzcyBDYm9yVW5zYWZlTWFwS2V5RXJyb3IgZXh0ZW5kcyBDYm9yRXJyb3Ige1xuICBzdGF0aWMge1xuICAgIHRoaXMucHJvdG90eXBlLm5hbWUgPSBcIkNib3JVbnNhZmVNYXBLZXlFcnJvclwiO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGtleTogdW5rbm93bixcbiAgICBvcHRpb25zPzogU3VycmVhbEVycm9yT3B0aW9ucyB8IHVuZGVmaW5lZCxcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBgSW52YWxpZCBrZXkgZm9yIENCT1IgbWFwOiAke1N0cmluZyhrZXkpfS4gVGhlIGtleSBtdXN0IGJlIGEgdmFsaWQgQ0JPUmBcbiAgICAgICAgKyBcIiBkYXRhIHR5cGUgdGhhdCBpcyBzYWZlIHRvIHVzZSBpbiBhIEphdmFTY3JpcHQgbWFwIG9yIG9iamVjdC5cIixcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2JvckRlY29kZVN0cmVhbUFib3J0RmFpbGVkRXJyb3IgZXh0ZW5kcyBDYm9yRXJyb3Ige1xuICBzdGF0aWMge1xuICAgIHRoaXMucHJvdG90eXBlLm5hbWUgPSBcIkNib3JTdHJlYW1BYm9ydEZhaWxlZEVycm9yXCI7XG4gIH1cblxuICBvdmVycmlkZSBjYXVzZTogdW5rbm93bltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVycm9yczogcmVhZG9ubHkgdW5rbm93bltdLFxuICAgIG9wdGlvbnM/OiBPbWl0PFN1cnJlYWxFcnJvck9wdGlvbnMsIFwiY2F1c2VcIj4gfCB1bmRlZmluZWQsXG4gICkge1xuICAgIHN1cGVyKFwiRmFpbGVkIHRvIGFib3J0IGRlY29kZS1zdHJlYW1cIiwgb3B0aW9ucyk7XG4gICAgdGhpcy5jYXVzZSA9IGVycm9ycy5zbGljZSgpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYm9yTWVtb3J5RXJyb3IgZXh0ZW5kcyBDYm9yRXJyb3Ige1xuICBzdGF0aWMge1xuICAgIHRoaXMucHJvdG90eXBlLm5hbWUgPSBcIkNib3JNZW1vcnlFcnJvclwiO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYm9yTWVtb3J5QmxvY2tFcnJvciBleHRlbmRzIENib3JFcnJvciB7XG4gIHN0YXRpYyB7XG4gICAgdGhpcy5wcm90b3R5cGUubmFtZSA9IFwiQ2Jvck1lbW9yeUJsb2NrRXJyb3JcIjtcbiAgfVxufVxuXG50eXBlIE1lbW9yeUFkZHJlc3MgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCBjbGFzcyBDYm9yTWVtb3J5QmxvY2tDb25mbGljdEVycm9yIGV4dGVuZHMgQ2Jvck1lbW9yeUJsb2NrRXJyb3Ige1xuICBzdGF0aWMge1xuICAgIHRoaXMucHJvdG90eXBlLm5hbWUgPSBcIkNib3JNZW1vcnlCbG9ja0NvbmZsaWN0RXJyb3JcIjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhZGRyZXNzOiBNZW1vcnlBZGRyZXNzLFxuICAgIHB1YmxpYyBleHBlY3RlZFNpemU6IG51bWJlcixcbiAgICBwdWJsaWMgYWN0dWFsU2l6ZTogbnVtYmVyLFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGBNZW1vcnkgY29uZmxpY3QgYXQgYWRkcmVzcyAke2FkZHJlc3N9OiBgXG4gICAgICAgICsgYEV4cGVjdGVkIHNpemUgJHtleHBlY3RlZFNpemV9LCBidXQgZm91bmQgJHthY3R1YWxTaXplfS5gLFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENib3JNZW1vcnlCbG9ja0luVXNlRXJyb3IgZXh0ZW5kcyBDYm9yTWVtb3J5QmxvY2tFcnJvciB7XG4gIHN0YXRpYyB7XG4gICAgdGhpcy5wcm90b3R5cGUubmFtZSA9IFwiQ2Jvck1lbW9yeUJsb2NrSW5Vc2VFcnJvclwiO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYm9yVW5kZWZpbmVkTWVtb3J5QmxvY2tFcnJvciBleHRlbmRzIENib3JNZW1vcnlCbG9ja0Vycm9yIHtcbiAgc3RhdGljIHtcbiAgICB0aGlzLnByb3RvdHlwZS5uYW1lID0gXCJDYm9yVW5kZWZpbmVkTWVtb3J5QmxvY2tFcnJvclwiO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIGFkZHJlc3M6IE1lbW9yeUFkZHJlc3MpIHtcbiAgICBzdXBlcihgTWVtb3J5IGJsb2NrIGF0IGFkZHJlc3MgJHthZGRyZXNzfSBpcyBub3QgZGVmaW5lZC5gKTtcbiAgfVxufVxuIl0s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