Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

pirms 3 gadiem
12345678910111213141516171819202122232425262728293031323334353637383940
  1. 'use strict';
  2. var simpleIsEqual = function simpleIsEqual(a, b) {
  3. return a === b;
  4. };
  5. function index (resultFn, isEqual) {
  6. if (isEqual === void 0) {
  7. isEqual = simpleIsEqual;
  8. }
  9. var lastThis;
  10. var lastArgs = [];
  11. var lastResult;
  12. var calledOnce = false;
  13. var isNewArgEqualToLast = function isNewArgEqualToLast(newArg, index) {
  14. return isEqual(newArg, lastArgs[index]);
  15. };
  16. var result = function result() {
  17. for (var _len = arguments.length, newArgs = new Array(_len), _key = 0; _key < _len; _key++) {
  18. newArgs[_key] = arguments[_key];
  19. }
  20. if (calledOnce && lastThis === this && newArgs.length === lastArgs.length && newArgs.every(isNewArgEqualToLast)) {
  21. return lastResult;
  22. }
  23. lastResult = resultFn.apply(this, newArgs);
  24. calledOnce = true;
  25. lastThis = this;
  26. lastArgs = newArgs;
  27. return lastResult;
  28. };
  29. return result;
  30. }
  31. module.exports = index;