Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.canton.network/llms.txt

Use this file to discover all available pages before exploring further.

DA.Optional

The Optional type encapsulates an optional value. A value of type Optional a either contains a value of type a (represented as Some a), or it is empty (represented as None). Using Optional is a good way to deal with errors or exceptional cases without resorting to drastic measures such as error. The Optional type is also an action. It is a simple kind of error action, where all errors are represented by None. A richer error action can be built using the Either type.

Module Snapshot

Lifecycle

Stable.

Notices

Status: active Introduced in: 3.4.9 Removed in: - Warnings: 0 Deprecations: 0 Deprecated since: -

Functions

fromSome

fromSome : Optional a -> a
The fromSome function extracts the element out of a Some and throws an error if its argument is None. Note that in most cases you should prefer using fromSomeNote to get a better error on failures.

fromSomeNote

fromSomeNote : Text -> Optional a -> a
Like fromSome but with a custom error message.

catOptionals

catOptionals : [Optional a] -> [a]
The catOptionals function takes a list of Optionals and returns a list of all the Some values.

listToOptional

listToOptional : [a] -> Optional a
The listToOptional function returns None on an empty list or Some a where a is the first element of the list.

optionalToList

optionalToList : Optional a -> [a]
The optionalToList function returns an empty list when given None or a singleton list when not given None.

fromOptional

fromOptional : a -> Optional a -> a
The fromOptional function takes a default value and a Optional value. If the Optional is None, it returns the default values otherwise, it returns the value contained in the Optional.

isSome

isSome : Optional a -> Bool
The isSome function returns True iff its argument is of the form Some _.

isNone

isNone : Optional a -> Bool
The isNone function returns True iff its argument is None.

mapOptional

mapOptional : (a -> Optional b) -> [a] -> [b]
The mapOptional function is a version of map which can throw out elements. In particular, the functional argument returns something of type Optional b. If this is None, no element is added on to the result list. If it is Some b, then b is included in the result list.

whenSome

whenSome : Applicative m => Optional a -> (a -> m ()) -> m ()
Perform some operation on Some, given the field inside the Some.

findOptional

findOptional : (a -> Optional b) -> [a] -> Optional b
The findOptional returns the value of the predicate at the first element where it returns Some. findOptional is similar to find but it allows you to return a value from the predicate. This is useful both as a more type safe version if the predicate corresponds to a pattern match and for performance to avoid duplicating work performed in the predicate.