memoize method

F4<A, B, C, D, 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

F4<A, B, C, D, T> memoize() {
  final cached = createCached<T>();

  return (a, b, c, d) => cached([a, b, c, d]);
}