diff --git a/src/utils/utils.ts b/src/utils/utils.ts index b164b99..2fbda51 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -81,4 +81,20 @@ export function markAsPublicMethod | u markAs(obj); return obj; +} + +export function createDeferrablePromise() { + let resolve!: (value: T | PromiseLike) => void; + let reject!: (reason?: unknown) => void; + + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + + return { + promise, + resolve, + reject + }; } \ No newline at end of file