@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
35 lines (33 loc) • 3.03 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/utils/make-abort-api.ts
import throwIfAborted from "./throw-if-aborted.mjs";
function makeAbortApi(signal) {
throwIfAborted(signal);
const c = new AbortController();
function abort(reason) {
if (signal) {
signal.removeEventListener("abort", handleAbort);
if (!signal.aborted) {
Object.defineProperty(signal, "reason", { value: reason });
signal.dispatchEvent(new Event("abort"));
}
signal = void 0;
}
if (!c.signal.aborted) {
c.abort(reason);
}
}
__name(abort, "abort");
function handleAbort() {
abort(signal.reason);
}
__name(handleAbort, "handleAbort");
signal?.addEventListener("abort", handleAbort);
return [c.signal, abort];
}
__name(makeAbortApi, "makeAbortApi");
export {
makeAbortApi as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL21ha2UtYWJvcnQtYXBpLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdGhyb3dJZkFib3J0ZWQgZnJvbSBcIi4vdGhyb3ctaWYtYWJvcnRlZFwiO1xuXG4vKipcbiAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL3RhaS1rdW4uZ2l0aHViLmlvL3N1cnJlYWxkYi5qcy92Mi9hcGkvdXRpbHMvbWFrZS1hYm9ydC1hcGkvKVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYWtlQWJvcnRBcGkoc2lnbmFsPzogQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpOiBbXG4gIHNpZ25hbDogQWJvcnRTaWduYWwsXG4gIGFib3J0OiAocmVhc29uPzogdW5rbm93bikgPT4gdm9pZCxcbl0ge1xuICB0aHJvd0lmQWJvcnRlZChzaWduYWwpO1xuICBjb25zdCBjID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZ1bmN0aW9uIGFib3J0KHJlYXNvbj86IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAoc2lnbmFsKSB7XG4gICAgICBzaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGhhbmRsZUFib3J0KTtcblxuICAgICAgaWYgKCFzaWduYWwuYWJvcnRlZCkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2lnbmFsLCBcInJlYXNvblwiLCB7IHZhbHVlOiByZWFzb24gfSk7XG4gICAgICAgIHNpZ25hbC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudChcImFib3J0XCIpKTtcbiAgICAgIH1cblxuICAgICAgc2lnbmFsID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICghYy5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgYy5hYm9ydChyZWFzb24pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUFib3J0KCk6IHZvaWQge1xuICAgIGFib3J0KHNpZ25hbCEucmVhc29uKTtcbiAgfVxuXG4gIHNpZ25hbD8uYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGhhbmRsZUFib3J0KTtcblxuICByZXR1cm4gW2Muc2lnbmFsLCBhYm9ydF07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7O0FBQUEsT0FBTyxvQkFBb0I7QUFLWixTQUFSLGFBQThCLFFBR25DO0FBQ0EsaUJBQWUsTUFBTTtBQUNyQixRQUFNLElBQUksSUFBSSxnQkFBZ0I7QUFFOUIsV0FBUyxNQUFNLFFBQXdCO0FBQ3JDLFFBQUksUUFBUTtBQUNWLGFBQU8sb0JBQW9CLFNBQVMsV0FBVztBQUUvQyxVQUFJLENBQUMsT0FBTyxTQUFTO0FBQ25CLGVBQU8sZUFBZSxRQUFRLFVBQVUsRUFBRSxPQUFPLE9BQU8sQ0FBQztBQUN6RCxlQUFPLGNBQWMsSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUFBLE1BQ3pDO0FBRUEsZUFBUztBQUFBLElBQ1g7QUFFQSxRQUFJLENBQUMsRUFBRSxPQUFPLFNBQVM7QUFDckIsUUFBRSxNQUFNLE1BQU07QUFBQSxJQUNoQjtBQUFBLEVBQ0Y7QUFmUztBQWlCVCxXQUFTLGNBQW9CO0FBQzNCLFVBQU0sT0FBUSxNQUFNO0FBQUEsRUFDdEI7QUFGUztBQUlULFVBQVEsaUJBQWlCLFNBQVMsV0FBVztBQUU3QyxTQUFPLENBQUMsRUFBRSxRQUFRLEtBQUs7QUFDekI7QUEvQndCOyIsCiAgIm5hbWVzIjogW10KfQo=