zephyr-edge-contract
Version:
Edge contract for Zephyr
53 lines (52 loc) • 1.08 kB
JavaScript
function PromiseWithResolvers() {
let resolve;
let reject;
const promise = new Promise((res, rej)=>{
resolve = res;
reject = rej;
});
return {
promise,
resolve,
reject
};
}
function deferred() {
let resolve;
let reject;
const promise = new Promise((res, rej)=>{
resolve = res;
reject = rej;
});
return [
promise,
resolve,
reject
];
}
function PromiseLazyLoad(promise) {
let _data;
return (params)=>{
if (!_data) _data = promise(params);
return _data;
};
}
async function PromiseTuple(maybePromise) {
try {
return [
null,
await maybePromise
];
} catch (err) {
return [
err,
void 0
];
}
}
function isSuccessTuple(tuple) {
return null === tuple[0];
}
export { forEachLimit } from "./forEachLimit.mjs";
export { PromiseLazyLoad, PromiseTuple, PromiseWithResolvers, deferred, isSuccessTuple };
//# sourceMappingURL=index.mjs.map