Skip to content

Tuple15IOOps<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>

extension Tuple15IOOps<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> on Record

Provides additional functions on a tuple of 15 IOs.

Properties

parTupled extension no setter

IO<Record> get parTupled

Creates a new IO that will return the tuple of all items if they all evaluate successfully. If any item fails or is canceled, the first instance encountered will be returned. Items are evaluated asynchronously.

Available on Record, provided by the Tuple15IOOps<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> extension

Implementation
dart
IO<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> get parTupled =>
    IO.both(init.parTupled, last).map((t) => t.$1.appended(t.$2));

tupled extension no setter

IO<Record> get tupled

Creates a new IO that will return the tuple of all items if they all evaluate successfully. If any item fails or is canceled, the first instance encountered will be returned. Each item is evaluated synchronously.

Available on Record, provided by the Tuple15IOOps<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> extension

Implementation
dart
IO<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> get tupled =>
    init.tupled.flatMap((x) => last.map(x.appended));

Methods

flatMapN() extension

IO<T16> flatMapN<T16>(
  IO<T16> Function(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) fn,
)

Creates a new IO that applies fn to the values of each respective tuple member if all IOs succeed. If any item fails or is canceled, the first instance encountered will be returned. Each item is evaluated synchronously.

Available on Record, provided by the Tuple15IOOps<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> extension

Implementation
dart
IO<T16> flatMapN<T16>(
  Function15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, IO<T16>> fn,
) => tupled.flatMap(fn.tupled);

mapN() extension

IO<T16> mapN<T16>(
  T16 Function(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) fn,
)

Creates a new IO that applies fn to the values of each respective tuple member if all IOs succeed. If any item fails or is canceled, the first instance encountered will be returned. Each item is evaluated synchronously.

Available on Record, provided by the Tuple15IOOps<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> extension

Implementation
dart
IO<T16> mapN<T16>(
  Function15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> fn,
) => tupled.map(fn.tupled);

parMapN() extension

IO<T16> parMapN<T16>(
  T16 Function(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) fn,
)

Creates a new IO that applies fn to the values of each respective tuple member if all IOs succeed. If any item fails or is canceled, the first instance encountered will be returned. Each item is evaluated synchronously.

Available on Record, provided by the Tuple15IOOps<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> extension

Implementation
dart
IO<T16> parMapN<T16>(
  Function15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> fn,
) => parTupled.map(fn.tupled);