Files
Job_App/node_modules/@josephg/resolvable/index.ts
2025-03-28 12:30:19 +11:00

18 lines
491 B
TypeScript

export type Resolvable<T> = Promise<T> & {
resolve: (t: T) => void,
reject: (e: any) => void,
}
const resolvablePromise = <T = void>(): Resolvable<T> => {
let resolve: (val: T) => void
let reject: (err: any) => void
const promise = new Promise<T>((_resolve, _reject) => {
resolve = _resolve
reject = _reject
}) as Resolvable<T>
promise.resolve = resolve!
promise.reject = reject!
return promise
}
export default resolvablePromise
module.exports = resolvablePromise