ap<A, B> function

ImmutableList<B> Function(ImmutableList<A>) ap<A, B>(
  1. ImmutableList<B Function(A)> fns
)

Applies a list of functions from fns to each item in the ImmutableList.

Example:

final list = ImmutableList<int>([10, 20]);
final functions = ImmutableList<Function>([(int x) => x + 1, (int x) => x - 1]);
final applied = ap(functions)(list);
print(applied.items);  // Outputs: (11, 21, 9, 19)

Implementation

ImmutableList<B> Function(ImmutableList<A>) ap<A, B>(
        ImmutableList<B Function(A)> fns) =>
    (ImmutableList<A> list) =>
        ImmutableList(fns._items.expand((fn) => list._items.map(fn)).toList());