update
This commit is contained in:
2
dist_ts/promise-make-naked/constants.d.ts
vendored
Normal file
2
dist_ts/promise-make-naked/constants.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
declare const NOOP: () => void;
|
||||
export { NOOP };
|
5
dist_ts/promise-make-naked/constants.js
Normal file
5
dist_ts/promise-make-naked/constants.js
Normal file
@ -0,0 +1,5 @@
|
||||
/* MAIN */
|
||||
const NOOP = () => { };
|
||||
/* EXPORT */
|
||||
export { NOOP };
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcHJvbWlzZS1tYWtlLW5ha2VkL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxVQUFVO0FBRVYsTUFBTSxJQUFJLEdBQUcsR0FBUyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBRTVCLFlBQVk7QUFFWixPQUFPLEVBQUMsSUFBSSxFQUFDLENBQUMifQ==
|
6
dist_ts/promise-make-naked/index.d.ts
vendored
Normal file
6
dist_ts/promise-make-naked/index.d.ts
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import type { Result } from './types.js';
|
||||
declare const makeNakedPromise: {
|
||||
<T>(): Result<T>;
|
||||
wrap<T_1>(fn: (result: Result<T_1>) => void): Promise<T_1>;
|
||||
};
|
||||
export default makeNakedPromise;
|
32
dist_ts/promise-make-naked/index.js
Normal file
32
dist_ts/promise-make-naked/index.js
Normal file
@ -0,0 +1,32 @@
|
||||
/* IMPORT */
|
||||
import { NOOP } from './constants.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 };
|
||||
};
|
||||
/* UTILITIES */
|
||||
makeNakedPromise.wrap = async (fn) => {
|
||||
const result = makeNakedPromise();
|
||||
await fn(result);
|
||||
return result.promise;
|
||||
};
|
||||
/* EXPORT */
|
||||
export default makeNakedPromise;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9wcm9taXNlLW1ha2UtbmFrZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwQyxVQUFVO0FBRVYsTUFBTSxnQkFBZ0IsR0FBRyxHQUFrQixFQUFFO0lBRTNDLElBQUksT0FBTyxHQUFzQixJQUFJLENBQUM7SUFDdEMsSUFBSSxNQUFNLEdBQWtCLElBQUksQ0FBQztJQUVqQyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXJCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFNLENBQUUsR0FBRyxFQUFFLEdBQUcsRUFBUyxFQUFFO1FBRXBELE9BQU8sR0FBRyxLQUFLLENBQUMsRUFBRTtZQUNoQixRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLE9BQU8sR0FBRyxDQUFHLEtBQUssQ0FBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztRQUVGLE1BQU0sR0FBRyxLQUFLLENBQUMsRUFBRTtZQUNmLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDaEIsT0FBTyxHQUFHLENBQUcsS0FBSyxDQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDO0lBRUosQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLFNBQVMsR0FBRyxHQUFZLEVBQUUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4RCxNQUFNLFVBQVUsR0FBRyxHQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDM0MsTUFBTSxVQUFVLEdBQUcsR0FBWSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBRTNDLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBQyxDQUFDO0FBRXZFLENBQUMsQ0FBQztBQUVGLGVBQWU7QUFFZixnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFPLEVBQWlDLEVBQWUsRUFBRTtJQUVwRixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsRUFBTSxDQUFDO0lBRXRDLE1BQU0sRUFBRSxDQUFHLE1BQU0sQ0FBRSxDQUFDO0lBRXBCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUV4QixDQUFDLENBQUM7QUFFRixZQUFZO0FBRVosZUFBZSxnQkFBZ0IsQ0FBQyJ9
|
11
dist_ts/promise-make-naked/types.d.ts
vendored
Normal file
11
dist_ts/promise-make-naked/types.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
type PromiseResolve<T> = (value: T | PromiseLike<T>) => void;
|
||||
type PromiseReject = (reason?: unknown) => void;
|
||||
type Result<T> = {
|
||||
promise: Promise<T>;
|
||||
resolve: PromiseResolve<T>;
|
||||
reject: PromiseReject;
|
||||
isPending: () => boolean;
|
||||
isResolved: () => boolean;
|
||||
isRejected: () => boolean;
|
||||
};
|
||||
export type { PromiseResolve, PromiseReject, Result };
|
3
dist_ts/promise-make-naked/types.js
Normal file
3
dist_ts/promise-make-naked/types.js
Normal file
@ -0,0 +1,3 @@
|
||||
/* MAIN */
|
||||
export {};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9wcm9taXNlLW1ha2UtbmFrZWQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsVUFBVSJ9
|
Reference in New Issue
Block a user