memoize method

F1<A, T> memoize()

Returns a memoized version of the function.

Caches the result of the function based on its arguments and actually runs the computation only once for a given combination of arguments.

Because of that, the source function must be pure.

Implementation

F1<A, T> memoize() {
  final cached = createCached<T>();

  return (a) => cached([a]);
}