call method

T call(
  1. A1 arg1,
  2. A2 arg2, {
  3. bool recalculate = false,
})

Returns the result of calling func or a cached result if available.

  • The cache is initialized when first accessed.
  • To re-initialize the cached function result use the optional parameter recalculate.

Implementation

T call(
  A1 arg1,
  A2 arg2, {
  bool recalculate = false,
}) {
  if (recalculate) {
    _functionTable[arg1] = {arg2: func(arg1, arg2)};
    return _functionTable[arg1]![arg2]!;
  } else {
    if (_functionTable.containsKey(arg1)) {
      return _functionTable[arg1]![arg2] ??= func(arg1, arg2);
    } else {
      _functionTable[arg1] = {arg2: func(arg1, arg2)};
      return _functionTable[arg1]![arg2]!;
    }
  }
}