memoize 1.2.0 copy "memoize: ^1.2.0" to clipboard
memoize: ^1.2.0 copied to clipboard

outdatedDart 1 only

Returns cached result of function call when inputs were not changed from previous invocation.

Memoize #

memoize returns cached result of function call when inputs were not changed from previous invocation.

Examples #

memo1, memo2, memo3, memo4 compare arguments with == operator:

import 'dart:math';
import 'package:memoize/memoize.dart';

void main() {
  var rect1 = new Rectangle<int>(0, 0, 10, 10);
  var rect2 = new Rectangle<int>(0, 0, 10, 10);
  
  var func = memo1((Rectangle<int> a) => a.width * a.height);

  print(func(rect1));
  print(func(rect2)); // cached result is returned
}

imemo1, imemo2, imemo3, imemo4 compare arguments with identical function:

import 'dart:math';
import 'package:memoize/memoize.dart';

void main() {
  var rect1 = new Rectangle<int>(0, 0, 10, 10);
  var rect2 = new Rectangle<int>(0, 0, 10, 10);
  
  var func = imemo1((Rectangle<int> a) => a.width * a.height);

  print(func(rect1));
  print(func(rect1)); // cached - same object instance
  print(func(rect2)); // not cached - different object instance
}
29
likes
0
pub points
90%
popularity

Publisher

verified publisherwrike.com

Returns cached result of function call when inputs were not changed from previous invocation.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

func

More

Packages that depend on memoize