diff options
| author | akiyamn | 2023-09-24 23:22:21 +1000 |
|---|---|---|
| committer | akiyamn | 2023-09-24 23:22:21 +1000 |
| commit | 4e87195739f2a5d9a05451b48773c8afdc680765 (patch) | |
| tree | 9cba501844a4a11dcbdffc4050ed8189561c55ed /node_modules/blake3-wasm/dist/base/disposable.js | |
| download | price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.tar.gz price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.zip | |
Initial commit (by create-cloudflare CLI)
Diffstat (limited to 'node_modules/blake3-wasm/dist/base/disposable.js')
| -rw-r--r-- | node_modules/blake3-wasm/dist/base/disposable.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/node_modules/blake3-wasm/dist/base/disposable.js b/node_modules/blake3-wasm/dist/base/disposable.js new file mode 100644 index 0000000..4b295c1 --- /dev/null +++ b/node_modules/blake3-wasm/dist/base/disposable.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +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. + */ +exports.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 |
