memoize method

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

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

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