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