UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

47 lines (45 loc) 5.29 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/cbor/decode-stream.ts import { CborDecodeStreamAbortFailedError } from "../errors/index.mjs"; import { StatefulPromise, throwIfAborted } from "../utils/index.mjs"; import { _Decoder } from "./decoder.mjs"; function decodeStream(input, options = {}) { return StatefulPromise.try(async () => { const { signal } = options; throwIfAborted(signal); const decoder = new _Decoder(options); let cancelPromise; function handleAbort() { cancelPromise = reader.cancel(this.reason).then( () => this.reason, (e) => new CborDecodeStreamAbortFailedError([this.reason, e]) ); } __name(handleAbort, "handleAbort"); const reader = input.getReader(); signal?.addEventListener("abort", handleAbort, { once: true }); try { while (true) { const { done, value } = await reader.read(); if (value) { decoder.process(value); } if (done) { break; } } if (cancelPromise) { throw await cancelPromise; } return decoder.output(); } finally { signal?.removeEventListener("abort", handleAbort); } }); } __name(decodeStream, "decodeStream"); export { decodeStream as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2Nib3IvZGVjb2RlLXN0cmVhbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgQ2JvckRlY29kZVN0cmVhbUFib3J0RmFpbGVkRXJyb3IgfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL2Vycm9yc1wiO1xuaW1wb3J0IHR5cGUgeyBVaW50OEFycmF5TGlrZSB9IGZyb20gXCJAdGFpLWt1bi9zdXJyZWFsZGIvdHlwZXNcIjtcbmltcG9ydCB7IFN0YXRlZnVsUHJvbWlzZSwgdGhyb3dJZkFib3J0ZWQgfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL3V0aWxzXCI7XG5pbXBvcnQgeyBfRGVjb2RlciwgdHlwZSBEZWNvZGVyT3B0aW9ucyB9IGZyb20gXCIuL2RlY29kZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEZWNvZGVTdHJlYW1PcHRpb25zIGV4dGVuZHMgRGVjb2Rlck9wdGlvbnMge1xuICByZWFkb25seSBzaWduYWw/OiBBYm9ydFNpZ25hbCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGVjb2RlU3RyZWFtKFxuICBpbnB1dDogUmVhZGFibGVTdHJlYW08VWludDhBcnJheUxpa2U+LFxuICBvcHRpb25zOiBEZWNvZGVTdHJlYW1PcHRpb25zIHwgdW5kZWZpbmVkID0ge30sXG4pOiBTdGF0ZWZ1bFByb21pc2U8dW5rbm93bj4ge1xuICByZXR1cm4gU3RhdGVmdWxQcm9taXNlLnRyeShhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBzaWduYWwgfSA9IG9wdGlvbnM7XG4gICAgdGhyb3dJZkFib3J0ZWQoc2lnbmFsKTtcblxuICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgX0RlY29kZXIob3B0aW9ucyk7XG4gICAgbGV0IGNhbmNlbFByb21pc2U6IFByb21pc2U8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVBYm9ydCh0aGlzOiBBYm9ydFNpZ25hbCk6IHZvaWQge1xuICAgICAgY2FuY2VsUHJvbWlzZSA9IHJlYWRlci5jYW5jZWwodGhpcy5yZWFzb24pLnRoZW4oXG4gICAgICAgICgpID0+IHRoaXMucmVhc29uLFxuICAgICAgICBlID0+IG5ldyBDYm9yRGVjb2RlU3RyZWFtQWJvcnRGYWlsZWRFcnJvcihbdGhpcy5yZWFzb24sIGVdKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVhZGVyID0gaW5wdXQuZ2V0UmVhZGVyKCk7XG4gICAgc2lnbmFsPy5hZGRFdmVudExpc3RlbmVyKFwiYWJvcnRcIiwgaGFuZGxlQWJvcnQsIHsgb25jZTogdHJ1ZSB9KTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBUT0RPKHRhaS1rdW4pOiByZWFkZXIucmVsZWFzZUxvY2soKSBcdTMwNkVcdTRGN0ZcdTMwNDRcdTY1QjlcdTMwNENcdTMwODhcdTMwNEZcdTUyMDZcdTMwNEJcdTMwODlcdTMwNkFcdTMwNDRcdTMwMDJmaW5hbHkgXHU1MTg1IFx1MzA2N1x1NUI5Rlx1ODg0Q1xuICAgICAgLy8gXHUzMDU5XHUzMDhCXHUzMDY4IC5yZWFkKCkgXHUzMDRDXHUzMDU5XHUzMDc5XHUzMDY2XHU3RDQyXHUzMDhGXHUzMDYzXHUzMDY2XHUzMDRCXHUzMDg5XHUzMDZFXHU4OUUzXHU5NjY0XHUzMDYwXHUzMDRCXHUzMDg5XHUzMDBDVHlwZUVycm9yOiBJbnZhbGlkIHN0YXRlOiBSZWFkZXJcbiAgICAgIC8vIHJlbGVhc2VkXHUzMDBEXHUzMDRDXHU1RkM1XHUzMDVBXHU3NjdBXHU3NTFGXHUzMDU5XHUzMDhCXHUzMDAyXHUzMDY0XHUzMDdFXHUzMDhBXHUzMDUzXHUzMDUzXHUzMDY3XHUzMDZGXHU4OUUzXHU5NjY0XHUzMDU3XHUzMDZBXHUzMDRGXHUzMDY2XHU4MjZGXHUzMDQ0XHVGRjFGXG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGRlY29kZXIucHJvY2Vzcyh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZG9uZSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjYW5jZWxQcm9taXNlKSB7XG4gICAgICAgIHRocm93IGF3YWl0IGNhbmNlbFByb21pc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWNvZGVyLm91dHB1dCgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzaWduYWw/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBoYW5kbGVBYm9ydCk7XG4gICAgfVxuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7QUFBQSxTQUFTLHdDQUF3QztBQUVqRCxTQUFTLGlCQUFpQixzQkFBc0I7QUFDaEQsU0FBUyxnQkFBcUM7QUFNL0IsU0FBUixhQUNMLE9BQ0EsVUFBMkMsQ0FBQyxHQUNsQjtBQUMxQixTQUFPLGdCQUFnQixJQUFJLFlBQVk7QUFDckMsVUFBTSxFQUFFLE9BQU8sSUFBSTtBQUNuQixtQkFBZSxNQUFNO0FBRXJCLFVBQU0sVUFBVSxJQUFJLFNBQVMsT0FBTztBQUNwQyxRQUFJO0FBRUosYUFBUyxjQUFxQztBQUM1QyxzQkFBZ0IsT0FBTyxPQUFPLEtBQUssTUFBTSxFQUFFO0FBQUEsUUFDekMsTUFBTSxLQUFLO0FBQUEsUUFDWCxPQUFLLElBQUksaUNBQWlDLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQztBQUFBLE1BQzVEO0FBQUEsSUFDRjtBQUxTO0FBT1QsVUFBTSxTQUFTLE1BQU0sVUFBVTtBQUMvQixZQUFRLGlCQUFpQixTQUFTLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUU3RCxRQUFJO0FBSUYsYUFBTyxNQUFNO0FBQ1gsY0FBTSxFQUFFLE1BQU0sTUFBTSxJQUFJLE1BQU0sT0FBTyxLQUFLO0FBRTFDLFlBQUksT0FBTztBQUNULGtCQUFRLFFBQVEsS0FBSztBQUFBLFFBQ3ZCO0FBRUEsWUFBSSxNQUFNO0FBQ1I7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUVBLFVBQUksZUFBZTtBQUNqQixjQUFNLE1BQU07QUFBQSxNQUNkO0FBRUEsYUFBTyxRQUFRLE9BQU87QUFBQSxJQUN4QixVQUFFO0FBQ0EsY0FBUSxvQkFBb0IsU0FBUyxXQUFXO0FBQUEsSUFDbEQ7QUFBQSxFQUNGLENBQUM7QUFDSDtBQTlDd0I7IiwKICAibmFtZXMiOiBbXQp9Cg==