UNPKG

async-wrappers

Version:

A set of wrapper functions to perform debouncing, throttling, retrying etc.

43 lines (37 loc) 758 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /** * @internal */ const throwSettled = () => { throw new Error('pending cannot be changed after it has settled'); }; /** * Used to hold a pending result * @internal */ /** * create a waiting empty result * @internal */ const pending = () => { const value = {}; value.promise = new Promise((resolve, reject) => { value.complete = arg => { resolve(arg); reject = resolve = throwSettled; return value.promise; }; value.error = err => { reject(err); reject = resolve = throwSettled; return value.promise; }; }); return value; }; var _default = pending; exports.default = _default;