From 4e87195739f2a5d9a05451b48773c8afdc680765 Mon Sep 17 00:00:00 2001 From: akiyamn Date: Sun, 24 Sep 2023 23:22:21 +1000 Subject: Initial commit (by create-cloudflare CLI) --- node_modules/blake3-wasm/esm/base/disposable.js | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 node_modules/blake3-wasm/esm/base/disposable.js (limited to 'node_modules/blake3-wasm/esm/base/disposable.js') diff --git a/node_modules/blake3-wasm/esm/base/disposable.js b/node_modules/blake3-wasm/esm/base/disposable.js new file mode 100644 index 0000000..f10f782 --- /dev/null +++ b/node_modules/blake3-wasm/esm/base/disposable.js @@ -0,0 +1,27 @@ +const isPromiseLike = (value) => typeof value === 'object' && !!value && 'then' in value; +/** + * A helper function that calls `.dispose()` on the {@link IDisposable} when + * the given function (or promise returned by the function) returns. + */ +export const using = (disposable, fn) => { + let ret; + try { + ret = fn(disposable); + } + catch (e) { + disposable.dispose(); + throw e; + } + if (!isPromiseLike(ret)) { + disposable.dispose(); + return ret; + } + return ret.then(value => { + disposable.dispose(); + return value; + }, err => { + disposable.dispose(); + throw err; + }); +}; +//# sourceMappingURL=disposable.js.map \ No newline at end of file -- cgit v1.2.3