opt
The CandidType
object
Opt
corresponds to the
Candid type opt, is inferred to be a TypeScript
Opt<T>
, and will be decoded
into a
JavaScript Object
at runtime.
It is a variant with
Some
and None
cases.
At runtime if the value of the variant is
Some
, the
Some
property of the variant object
will have a value of the enclosed
Opt
type at runtime.
TypeScript or JavaScript:
import { bool, Canister, None, Opt, query, Some } from 'azle/experimental';
export default Canister({
getOptSome: query([], Opt(bool), () => {
return Some(true); // equivalent to { Some: true }
}),
getOptNone: query([], Opt(bool), () => {
return None; //equivalent to { None: null}
})
});
Candid:
service : () -> {
getOptNone : () -> (opt bool) query;
getOptSome : () -> (opt bool) query;
}
dfx:
dfx canister call candid_canister getOptSome
(opt true)
dfx canister call candid_canister getOptNone
(null)