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