@virtualstate/navigation
Version:
Native JavaScript [navigation](https://developer.mozilla.org/en-US/docs/Web/API/Navigation_API) implementation
30 lines • 738 B
JavaScript
import { ok } from "./is.js";
export function defer() {
let resolve = undefined, reject = undefined, settled = false, status = "pending";
const promise = new Promise((resolveFn, rejectFn) => {
resolve = (value) => {
status = "fulfilled";
settled = true;
resolveFn(value);
};
reject = (reason) => {
status = "rejected";
settled = true;
rejectFn(reason);
};
});
ok(resolve);
ok(reject);
return {
get settled() {
return settled;
},
get status() {
return status;
},
resolve,
reject,
promise,
};
}
//# sourceMappingURL=defer.js.map