Skip to content

micro509 / result

result

Canonical shared result surface. Owns the stable micro509/result entrypoint.

Type Aliases

UnwrappableResult

UnwrappableResult<TValue, TError> = { ok: true; value: TValue; } | { error: TError; ok: false; }

Defined in: src/result/result.ts:117

A minimal fallible-result shape: { ok: true, value } or { ok: false, error }.

Type Parameters

TValue

TValue

TError

TError

Functions

errorResult()

errorResult<TCode, TDetails, TError>(error): ErrorResult<TCode, TDetails, TError>

Defined in: src/result/result.ts:191

Wraps a Micro509Error in a flattened ErrorResult.

Type Parameters

TCode

TCode extends string

TDetails

TDetails

TError

TError extends Micro509Error<TCode, TDetails>

Parameters

error

TError

Returns

ErrorResult<TCode, TDetails, TError>


failureResult()

failureResult<TCode, TDetails>(code, message, details?): ErrorResult<TCode, TDetails, Micro509Error<TCode, TDetails> & object>

Defined in: src/result/result.ts:214

Builds a flattened failure result in one step.

Single source of truth for the { ok: false, error, code, message } shape: modules should construct failures with this instead of hand-rolling the object literal. The error payload carries the redundant ok: false discriminant so it matches the per-operation *Failure interfaces (interface XFailure extends Micro509Error<…> { ok: false }).

Type Parameters

TCode

TCode extends string

TDetails

TDetails = Record<never, never>

Parameters

code

TCode

message

string

details?

TDetails

Returns

ErrorResult<TCode, TDetails, Micro509Error<TCode, TDetails> & object>


indexedErrorResult()

indexedErrorResult<TCode, TDetails, TError>(error): IndexedErrorResult<TCode, TDetails, TError>

Defined in: src/result/result.ts:223

Wraps an IndexedMicro509Error in a flattened IndexedErrorResult.

Type Parameters

TCode

TCode extends string

TDetails

TDetails

TError

TError extends IndexedMicro509Error<TCode, TDetails>

Parameters

error

TError

Returns

IndexedErrorResult<TCode, TDetails, TError>


indexedMicro509Error()

indexedMicro509Error<TCode, TDetails>(code, message, index?, details?): IndexedMicro509Error<TCode, TDetails>

Defined in: src/result/result.ts:176

Constructs an IndexedMicro509Error payload with an optional collection index.

Type Parameters

TCode

TCode extends string

TDetails

TDetails = Record<never, never>

Parameters

code

TCode

message

string

index?

number

details?

TDetails

Returns

IndexedMicro509Error<TCode, TDetails>


micro509Error()

micro509Error<TCode, TDetails>(code, message, details?): Micro509Error<TCode, TDetails>

Defined in: src/result/result.ts:163

Constructs a Micro509Error payload.

Type Parameters

TCode

TCode extends string

TDetails

TDetails = Record<never, never>

Parameters

code

TCode

message

string

details?

TDetails

Returns

Micro509Error<TCode, TDetails>


rethrowIfInvariant()

rethrowIfInvariant(error): void

Defined in: src/result/result.ts:156

Rethrows error if it is an invariant/programmer error (TypeError, RangeError, ReferenceError, SyntaxError); otherwise returns.

Boundary wrappers that turn an expected failure into a Result should call this first, so a genuine crash is never masked as a clean parse/decode failure (AGENTS.md: throw only for invariants).

Parameters

error

unknown

Returns

void


successResult()

successResult<TValue>(value): object

Defined in: src/result/result.ts:74

Wraps a value in a success result ({ ok: true, value }).

Type Parameters

TValue

TValue

Parameters

value

TValue

Returns

object

ok

readonly ok: true

value

readonly value: TValue

Released under the MIT License.