Optional<T> class abstract

A container object which may contain a non-null value.

Offers several methods which depend on the presence or absence of a contained value.

Implemented types
Available extensions

Constructors

Optional.empty()
Creates an empty Optional.
const
factory
Optional.of(T value)
Creates a new Optional with the given non-null value.
factory
Optional.ofNullable(T? value)
Creates a new Optional with the given value, if non-null. Otherwise, returns an empty Optional.
factory

Properties

first → T
The first element.
no setterinherited
firstOptional → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The first element, or Optional.empty() if the iterable is empty.
no setter
firstOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The first element of this iterator, or null if the iterable is empty.
no setter
hashCode → int
The hashCode of this Optional's value, if present. Otherwise, 0.
no setteroverride
indexed → Iterable<(int, T)>

Available on Iterable<T>, provided by the IterableExtensions extension

Pairs of elements of the indices and elements of this iterable.
no setter
isEmpty → bool
Whether this collection has no elements.
no setterinherited
isNotEmpty → bool
Whether this collection has at least one element.
no setterinherited
isPresent → bool
Whether the Optional has a value.
no setter
iterator → Iterator<T>
A new Iterator that allows iterating the elements of this Iterable.
no setterinherited
last → T
The last element.
no setterinherited
lastOptional → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The last element, or Optional.empty() if the iterable is empty.
no setter
lastOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The last element of this iterable, or null if the iterable is empty.
no setter
length → int
The number of elements in this Iterable.
no setterinherited
nonNulls → Iterable<T>

Available on Iterable<T?>, provided by the NullableIterableExtensions extension

The non-null elements of this iterable.
no setter
orElseNull → T?
Returns this Optional's value, if present, as nullable. Otherwise, returns null.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
single → T
Checks that this iterable has only one element, and returns that element.
no setterinherited
singleOptional → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The single element of the iterable, or Optional.empty().
no setter
singleOrNull → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The single element of this iterator, or null.
no setter
toJSIterable → JSIterable<T>

Available on Iterable<T>, provided by the IterableToJSIterable extension

A JSIterable wrapper that proxies to the Dart iterable API.
no setter
value → T
The value associated with this Optional, if any.
no setter
wait → Future<List<T>>

Available on Iterable<Future<T>>, provided by the FutureIterable extension

Waits for futures in parallel.
no setter

Methods

any(bool test(T element)) → bool
Checks whether any element of this iterable satisfies test.
inherited
asNameMap() → Map<String, T>

Available on Iterable<T>, provided by the EnumByName extension

Creates a map from the names of enum values to the values.
byName(String name) → T

Available on Iterable<T>, provided by the EnumByName extension

Finds the enum value in this list with name name.
cast<R>() → Optional<R>
Returns a view of this Optional as an Optional with an R value
override
contains(Object? element) → bool
Whether the collection contains an element equal to element.
inherited
elementAt(int index) → T
Returns the indexth element.
inherited
elementAtOrNull(int index) → T?

Available on Iterable<T>, provided by the IterableExtensions extension

The element at position index of this iterable, or null.
every(bool test(T element)) → bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> toElements(T element)) → Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
filter(bool predicate(T element)) → Optional<T>
Returns an Optional with this Optional's value, if there is a value present and it matches the predicate. Otherwise, returns an empty Optional.
firstWhere(bool test(T element), {T orElse()?}) → T
The first element that satisfies the given predicate test.
inherited
firstWhereIndexedOptional(bool test(int index, T element)) → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The first element whose value and index satisfies test.
firstWhereOptional(bool test(T element)) → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The first element satisfying test, or Optional.empty() if there are none.
flatMap<R>(Optional<R> mapper(T)) → Optional<R>
Returns an Optional provided by applying the mapper to this Optional's value, if present. Otherwise, returns an empty Optional.
fold<T>(T initialValue, T combine(T previousValue, T element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<T> other) → Iterable<T>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(T element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
ifPresent(void consume(T element), {void orElse()}) → void
Invokes consume() with this Optional's value, if present. Otherwise, if orElse is passed, invokes it, otherwise does nothing.
join([String separator = ""]) → String
Converts each element to a String and concatenates the strings.
inherited
lastWhere(bool test(T element), {T orElse()?}) → T
The last element that satisfies the given predicate test.
inherited
lastWhereIndexedOptional(bool test(int index, T element)) → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The last element whose index and value satisfies test.
lastWhereOptional(bool test(T element)) → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The last element satisfying test, or Optional.empty() if there are none.
map<R>(R mapper(T)) → Optional<R>
Returns an Optional containing the result of applying the mapper to this Optional's value, if present. Otherwise, returns an empty Optional.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
orElse(T other) → T
Returns this Optional's value, if present. Otherwise, returns other.
orElseGet(T supply()) → T
Returns this Optional's value, if present. Otherwise, returns the result of calling supply().
orElseGetAsync(Future<T> supply()) → Future<T>
Returns this Optional's value, if present. Otherwise, returns the result of calling supply() asynchronously.
orElseGetNullable(T? supply()) → T?
Returns this Optional's value, if present, as nullable. Otherwise, returns the result of calling supply().
orElseGetNullableAsync(Future<T?> supply()) → Future<T?>
Returns this Optional's value, if present, as nullable. Otherwise, returns the result of calling supply() asynchronously.
orElseNullable(T? other) → T?
Returns this Optional's value, if present, as nullable. Otherwise, returns other.
orElseThrow(Object supplyError()) → T
Returns this Optional's value, if present. Otherwise, throws the result of calling supplyError().
reduce(T combine(T value, T element)) → T
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
singleWhere(bool test(T element), {T orElse()?}) → T
The single element that satisfies test.
inherited
singleWhereIndexedOptional(bool test(int index, T element)) → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The single element satisfying test.
singleWhereOptional(bool test(T element)) → Optional<T>

Available on Iterable<T>, provided by the OptionalIterableExtension extension

The single element satisfying test.
skip(int count) → Iterable<T>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(T element)) → Iterable<T>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
take(int count) → Iterable<T>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(T element)) → Iterable<T>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toList({bool growable = true}) → List<T>
Creates a List containing the elements of this Iterable.
inherited
toSet() → Set<T>
Creates a Set containing the same elements as this iterable.
inherited
toString() → String
A string representation of this object.
inherited
where(bool test(T element)) → Iterable<T>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() → Iterable<T>
Creates a new lazy Iterable with all elements that have type T.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
override