//#region src/tsResult.d.ts type Ok = { ok: true; error: false; value: T; } & AnyResultMethods; type AnyResultMethods = Record; /** @deprecated Use `t-result` library instead. */ type ResultValidErrors = Error | Record | unknown[] | readonly unknown[] | true; type Err = { ok: false; error: E; /** @deprecated Use `t-result` library instead. */ errorResult: () => Err; } & AnyResultMethods; type ResultMethods = { /** @deprecated Use `t-result` library instead. */ unwrapOrNull: () => T | null; /** @deprecated Use `t-result` library instead. */ unwrapOr: (defaultValue: R) => T | R; /** @deprecated Use `t-result` library instead. */ unwrap: () => T; /** @deprecated Use `t-result` library instead. */ mapOk: (mapFn: (value: T) => NewValue) => Result; /** @deprecated Use `t-result` library instead. */ mapErr: (mapFn: (error: E) => NewError) => Result; /** @deprecated Use `t-result` library instead. */ mapOkAndErr: (mapFns: { ok: (value: T) => NewValue; err: (error: E) => NewError; }) => Result; /** @deprecated Use `t-result` library instead. */ ifOk: (fn: (value: T) => void) => Result; /** @deprecated Use `t-result` library instead. */ ifErr: (fn: (error: E) => void) => Result; }; /** @deprecated Use `t-result` library instead. */ type Result = (Omit, ResultMethodsKeys> | Omit, ResultMethodsKeys>) & ResultMethods; type ResultMethodsKeys = keyof ResultMethods; /** @deprecated Use `t-result` library instead. */ declare function ok(): Ok; /** * @deprecated Use `t-result` library instead. * @param value */ declare function ok(value: T): Ok; /** * @deprecated Use `t-result` library instead. * @param error */ declare function err(error: E): Err; declare function unknownToResultError(error: unknown): Err; /** * Unwraps a promise result * * @param result */ declare function asyncUnwrap(result: Promise>): Promise; declare function asyncMap(resultPromise: Promise>): { err: (mapFn: (error: E) => NewError) => Promise>; ok: (mapFn: (value: T) => NewValue) => Promise>; okAndErr: ({ ok: mapFn, err: mapErrFn }: { ok: (value: T) => NewValue; err: (error: E) => NewError; }) => Promise>; }; /** @deprecated Use `t-result` library instead. */ declare const Result: { ok: typeof ok; err: typeof err; unknownToError: typeof unknownToResultError; asyncUnwrap: typeof asyncUnwrap; asyncMap: typeof asyncMap; getOkErr: typeof getOkErr; }; /** * @deprecated Use `t-result` library instead. * @param fn * @param errorNormalizer */ declare function resultify(fn: () => T extends Promise ? never : T, errorNormalizer?: (err: unknown) => E): Result; /** * @deprecated Use `t-result` library instead. * @param fn * @param errorNormalizer */ declare function resultify(fn: () => Promise, errorNormalizer?: (err: unknown) => E): Promise, E>>; /** * @deprecated Use `t-result` library instead. * @param fn * @param errorNormalizer */ declare function resultify(fn: Promise, errorNormalizer?: (err: unknown) => E): Promise>; /** * @deprecated Use `t-result` library instead. * @param error */ declare function unknownToError(error: unknown): Error; /** @deprecated Use `t-result` library instead. */ type TypedResult = { /** @deprecated Use `t-result` library instead. */ ok: (value: T) => Ok; /** @deprecated Use `t-result` library instead. */ err: (error: E) => Err; /** @deprecated Use `t-result` library instead. */ _type: Result; }; /** @deprecated Use `t-result` library instead. */ type GetTypedResult> = TypedResult ? T : never, R extends Result ? E : never>; declare function getOkErr Promise>>(): TypedResult> extends Result ? T : never, Awaited> extends Result ? E : never>; declare function getOkErr Result>(): TypedResult extends Result ? T : never, ReturnType extends Result ? E : never>; declare function getOkErr>(): TypedResult ? T : never, R extends Result ? E : never>; declare function getOkErr(): TypedResult; //#endregion export { GetTypedResult, Result, ResultValidErrors, TypedResult, err, ok, resultify, unknownToError };