1
0
Files
sashinexists/node_modules/promise-make-naked/dist/index.js
2024-12-07 13:18:31 +11:00

26 lines
701 B
JavaScript

/* IMPORT */
import { noop } from './utils.js';
/* MAIN */
const makeNakedPromise = () => {
let resolve = noop;
let reject = noop;
let resolved = false;
let rejected = false;
const promise = new Promise((res, rej) => {
resolve = value => {
resolved = true;
return res(value);
};
reject = value => {
rejected = true;
return rej(value);
};
});
const isPending = () => !resolved && !rejected;
const isResolved = () => resolved;
const isRejected = () => rejected;
return { promise, resolve, reject, isPending, isResolved, isRejected };
};
/* EXPORT */
export default makeNakedPromise;