@pdfking/errors

Runtime

functions

AutoThrow

const AutoThrow = <T>({ error, value }: Result<T>): T

CreateRepr

const CreateRepr = <Name extends string, T extends Record<string, unknown> = {}>(
  name: Name,
  context?: T
): EnumType<Name, T>

Failure

function Failure<Name extends string | number>(name: Name): Result<never, EnumType<Name>>

Success

const Success = <T, E extends AnyError = AnyError>(value: T): Result<T, E>

Ensure

const Ensure = <const Guards extends Guard<unknown>[]>(
  input: unknown,
  ...guards: Guards
): Result<Guarded<Guards[number]>, TypeError>

ResultMap

const ResultMap = <T, G, E1 extends AnyError, E2 extends AnyError>(
  result: Result<T, E1>,
  success: (value: T) => Result<G, E2>,
  error: (e: E1) => Result<G, E2> = Failure
): Result<G, E2>

ResultResolve

const ResultResolve = <T, E extends AnyError>(
  result: Result<T, E>,
  error: (e: E) => T
): T