Skip to main content
Version: 2.15.0

Option

type Option<T, V> = {
isSome: Bool;
value: T;
} & {
assertNone: void;
assertSome: T;
orElse: T;
};

Defined in: lib/provable/option.ts:34

Define an optional version of a provable type.

Type Declaration​

isSome​

isSome: Bool;

value​

value: T;

Type Declaration​

assertNone()​

assertNone(message?: string): void;

Parameters​

message?​

string

Returns​

void

assertSome()​

assertSome(message?: string): T;

Parameters​

message?​

string

Returns​

T

orElse()​

orElse(defaultValue: T | V): T;

Parameters​

defaultValue​

T | V

Returns​

T

Type Parameters​

T​

T

V​

V = any

Example​

class OptionUInt64 extends Option(UInt64) {}

// create an optional UInt64
let some = OptionUInt64.from(5n);
let none = OptionUInt64.none();

// get back a UInt64
let five: UInt64 = some.assertSome('must have a value');
let zero: UInt64 = none.orElse(0n); // specify a default value