//#region src/core/PromiseWrapper.d.ts type AnyError = any; declare const NOT_SET: unique symbol; type NotSet = typeof NOT_SET; type Result = { readonly kind: 'Ok'; readonly value: T; } | { readonly kind: 'Err'; readonly error: E; }; /** * Invariant: * Before the promise is resolved, value becomes non-null. */ type PromiseWrapper = { readonly promise: Promise>; result: Result, E> | NotSet; }; interface PromiseWrapperOk extends PromiseWrapper { result: { readonly kind: 'Ok'; readonly value: Exclude; }; } declare function wrapPromise(promise: Promise>): PromiseWrapper; declare function wrapResolvedValue(value: Exclude): PromiseWrapperOk; declare function readPromise(p: PromiseWrapper): T; type PromiseState = { readonly kind: 'Pending'; readonly promise: Promise; } | Result; declare function getPromiseState(p: PromiseWrapper): PromiseState; //#endregion export { AnyError, NOT_SET, NotSet, PromiseState, PromiseWrapper, Result, getPromiseState, readPromise, wrapPromise, wrapResolvedValue }; //# sourceMappingURL=PromiseWrapper.d.mts.map