Skip to content

OkResult

OkResult<T> = T extends object ? never : T extends object ? never : T extends object ? U : T extends object ? U : T

Defined in: types/result.ts:19

Extract the Ok value from a Result type. Supports both uppercase (Ok/Err - Rust) and lowercase (ok/err - Motoko).

  • If T is { Ok: U } or { ok: U }, returns U
  • If T is { Err: E } or { err: E }, returns never (filters it out from unions)
  • If T is { Ok: U } | { Err: E }, returns U (the Err variant is filtered out)
  • Otherwise, returns T as-is

T