@extra-memoize/memory-cache 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/lib/es2015/caches/expirable-cache-with-stale-if-error.js +2 -2
  2. package/lib/es2015/caches/expirable-cache-with-stale-if-error.js.map +1 -1
  3. package/lib/es2015/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.js +3 -3
  4. package/lib/es2015/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.js.map +1 -1
  5. package/lib/es2015/caches/expirable-cache-with-stale-while-revalidate.js +3 -2
  6. package/lib/es2015/caches/expirable-cache-with-stale-while-revalidate.js.map +1 -1
  7. package/lib/es2015/caches/tlru-cache-with-stale-if-error.js +2 -2
  8. package/lib/es2015/caches/tlru-cache-with-stale-if-error.js.map +1 -1
  9. package/lib/es2015/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.js +3 -3
  10. package/lib/es2015/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.js.map +1 -1
  11. package/lib/es2015/caches/tlru-cache-with-stale-while-revalidate.js +3 -2
  12. package/lib/es2015/caches/tlru-cache-with-stale-while-revalidate.js.map +1 -1
  13. package/lib/es2018/caches/expirable-cache-with-stale-if-error.js +2 -2
  14. package/lib/es2018/caches/expirable-cache-with-stale-if-error.js.map +1 -1
  15. package/lib/es2018/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.js +3 -3
  16. package/lib/es2018/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.js.map +1 -1
  17. package/lib/es2018/caches/expirable-cache-with-stale-while-revalidate.js +3 -2
  18. package/lib/es2018/caches/expirable-cache-with-stale-while-revalidate.js.map +1 -1
  19. package/lib/es2018/caches/tlru-cache-with-stale-if-error.js +2 -2
  20. package/lib/es2018/caches/tlru-cache-with-stale-if-error.js.map +1 -1
  21. package/lib/es2018/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.js +3 -3
  22. package/lib/es2018/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.js.map +1 -1
  23. package/lib/es2018/caches/tlru-cache-with-stale-while-revalidate.js +3 -2
  24. package/lib/es2018/caches/tlru-cache-with-stale-while-revalidate.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/caches/expirable-cache-with-stale-if-error.ts +2 -2
  27. package/src/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.ts +3 -3
  28. package/src/caches/expirable-cache-with-stale-while-revalidate.ts +3 -2
  29. package/src/caches/tlru-cache-with-stale-if-error.ts +2 -2
  30. package/src/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.ts +3 -3
  31. package/src/caches/tlru-cache-with-stale-while-revalidate.ts +3 -2
@@ -22,10 +22,10 @@ class ExpirableCacheWithStaleIfError {
22
22
  }
23
23
  else {
24
24
  const elapsed = Date.now() - record.updatedAt;
25
- if (elapsed <= this.timeToLive) {
25
+ if (elapsed < this.timeToLive) {
26
26
  return [extra_memoize_1.State.Hit, record.value];
27
27
  }
28
- else if (elapsed <= this.timeToLive + this.staleIfError) {
28
+ else if (elapsed < this.timeToLive + this.staleIfError) {
29
29
  return [extra_memoize_1.State.StaleIfError, record.value];
30
30
  }
31
31
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"expirable-cache-with-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAyD;AAOzD,MAAa,8BAA8B;IAGzC,YAAoB,UAAkB,EAAU,YAAoB;QAAhD,eAAU,GAAV,UAAU,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAQ;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,YAAY,CAAC,CAAA;IAC5D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACzD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA9BD,wEA8BC"}
1
+ {"version":3,"file":"expirable-cache-with-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAyD;AAOzD,MAAa,8BAA8B;IAGzC,YAAoB,UAAkB,EAAU,YAAoB;QAAhD,eAAU,GAAV,UAAU,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAQ;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,YAAY,CAAC,CAAA;IAC5D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACxD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA9BD,wEA8BC"}
@@ -23,13 +23,13 @@ class ExpirableCacheWithStaleWhileRevalidateAndStaleIfError {
23
23
  }
24
24
  else {
25
25
  const elapsed = Date.now() - record.updatedAt;
26
- if (elapsed <= this.timeToLive) {
26
+ if (elapsed < this.timeToLive) {
27
27
  return [extra_memoize_1.State.Hit, record.value];
28
28
  }
29
- else if (elapsed <= this.timeToLive + this.staleWhileRevalidate) {
29
+ else if (elapsed < this.timeToLive + this.staleWhileRevalidate) {
30
30
  return [extra_memoize_1.State.StaleWhileRevalidate, record.value];
31
31
  }
32
- else if (elapsed <= this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
32
+ else if (elapsed < this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
33
33
  return [extra_memoize_1.State.StaleIfError, record.value];
34
34
  }
35
35
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"expirable-cache-with-stale-while-revalidate-and-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAgF;AAOhF,MAAa,qDAAqD;IAGhE,YACU,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAFpB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,oBAAoB,GAAG,YAAY,CAAC,CAAA;IACnF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QAOb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACrF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA1CD,sHA0CC"}
1
+ {"version":3,"file":"expirable-cache-with-stale-while-revalidate-and-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAgF;AAOhF,MAAa,qDAAqD;IAGhE,YACU,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAFpB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,oBAAoB,GAAG,YAAY,CAAC,CAAA;IACnF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QAOb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBAChE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACpF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA1CD,sHA0CC"}
@@ -30,8 +30,9 @@ class ExpirableCacheWithStaleWhileRevalidate {
30
30
  }
31
31
  }
32
32
  isStaleWhileRevalidate(record) {
33
- return Date.now() - record.updatedAt > this.timeToLive
34
- && Date.now() - record.updatedAt <= this.timeToLive + this.staleWhileRevalidate;
33
+ const timestamp = Date.now();
34
+ return record.updatedAt + this.timeToLive <= timestamp
35
+ && record.updatedAt + this.timeToLive + this.staleWhileRevalidate > timestamp;
35
36
  }
36
37
  }
37
38
  exports.ExpirableCacheWithStaleWhileRevalidate = ExpirableCacheWithStaleWhileRevalidate;
@@ -1 +1 @@
1
- {"version":3,"file":"expirable-cache-with-stale-while-revalidate.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-while-revalidate.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAiE;AAOjE,MAAa,sCAAsC;IAGjD,YAAoB,UAAkB,EAAU,oBAA4B;QAAxD,eAAU,GAAV,UAAU,CAAQ;QAAU,yBAAoB,GAApB,oBAAoB,CAAQ;QAC1E,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,oBAAoB,CAAC,CAAA;IACpE,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACvC,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAEO,sBAAsB,CAAC,MAAkB;QAC/C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;eAC/C,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IACrF,CAAC;CACF;AA/BD,wFA+BC"}
1
+ {"version":3,"file":"expirable-cache-with-stale-while-revalidate.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-while-revalidate.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAiE;AAOjE,MAAa,sCAAsC;IAGjD,YAAoB,UAAkB,EAAU,oBAA4B;QAAxD,eAAU,GAAV,UAAU,CAAQ;QAAU,yBAAoB,GAApB,oBAAoB,CAAQ;QAC1E,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,oBAAoB,CAAC,CAAA;IACpE,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACvC,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAEO,sBAAsB,CAAC,MAAkB;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS;eAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAA;IACnF,CAAC;CACF;AAhCD,wFAgCC"}
@@ -22,10 +22,10 @@ class TLRUCacheWithStaleIfError {
22
22
  }
23
23
  else {
24
24
  const elapsed = Date.now() - record.updatedAt;
25
- if (elapsed <= this.timeToLive) {
25
+ if (elapsed < this.timeToLive) {
26
26
  return [extra_memoize_1.State.Hit, record.value];
27
27
  }
28
- else if (elapsed <= this.timeToLive + this.staleIfError) {
28
+ else if (elapsed < this.timeToLive + this.staleIfError) {
29
29
  return [extra_memoize_1.State.StaleIfError, record.value];
30
30
  }
31
31
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"tlru-cache-with-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAyD;AAOzD,MAAa,yBAAyB;IAGpC,YACE,KAAa,EACL,UAAkB,EAClB,YAAoB;QADpB,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACzD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AAlCD,8DAkCC"}
1
+ {"version":3,"file":"tlru-cache-with-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAyD;AAOzD,MAAa,yBAAyB;IAGpC,YACE,KAAa,EACL,UAAkB,EAClB,YAAoB;QADpB,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACxD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AAlCD,8DAkCC"}
@@ -23,13 +23,13 @@ class TLRUCacheWithStaleWhileRevalidateAndStaleIfError {
23
23
  }
24
24
  else {
25
25
  const elapsed = Date.now() - record.updatedAt;
26
- if (elapsed <= this.timeToLive) {
26
+ if (elapsed < this.timeToLive) {
27
27
  return [extra_memoize_1.State.Hit, record.value];
28
28
  }
29
- else if (elapsed <= this.timeToLive + this.staleWhileRevalidate) {
29
+ else if (elapsed < this.timeToLive + this.staleWhileRevalidate) {
30
30
  return [extra_memoize_1.State.StaleWhileRevalidate, record.value];
31
31
  }
32
- else if (elapsed <= this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
32
+ else if (elapsed < this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
33
33
  return [extra_memoize_1.State.StaleIfError, record.value];
34
34
  }
35
35
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"tlru-cache-with-stale-while-revalidate-and-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAgF;AAOhF,MAAa,gDAAgD;IAG3D,YACE,KAAa,EACL,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAFpB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,GAAG,YAAY,CAAC,CAAA;IACrF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QAOb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACrF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA3CD,4GA2CC"}
1
+ {"version":3,"file":"tlru-cache-with-stale-while-revalidate-and-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAgF;AAOhF,MAAa,gDAAgD;IAG3D,YACE,KAAa,EACL,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAFpB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,GAAG,YAAY,CAAC,CAAA;IACrF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QAOb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBAChE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACpF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA3CD,4GA2CC"}
@@ -30,8 +30,9 @@ class TLRUCacheWithStaleWhileRevalidate {
30
30
  }
31
31
  }
32
32
  isStaleWhileRevalidate(record) {
33
- return Date.now() - record.updatedAt > this.timeToLive
34
- && Date.now() - record.updatedAt <= this.timeToLive + this.staleWhileRevalidate;
33
+ const timestamp = Date.now();
34
+ return record.updatedAt + this.timeToLive <= timestamp
35
+ && record.updatedAt + this.timeToLive + this.staleWhileRevalidate > timestamp;
35
36
  }
36
37
  }
37
38
  exports.TLRUCacheWithStaleWhileRevalidate = TLRUCacheWithStaleWhileRevalidate;
@@ -1 +1 @@
1
- {"version":3,"file":"tlru-cache-with-stale-while-revalidate.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-while-revalidate.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAiE;AAOjE,MAAa,iCAAiC;IAG5C,YACE,KAAa,EACL,UAAkB,EAClB,oBAA4B;QAD5B,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAEpC,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAA;IACtE,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACvC,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,MAAkB;QACvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;eAC/C,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IACrF,CAAC;CACF;AAnCD,8EAmCC"}
1
+ {"version":3,"file":"tlru-cache-with-stale-while-revalidate.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-while-revalidate.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAiE;AAOjE,MAAa,iCAAiC;IAG5C,YACE,KAAa,EACL,UAAkB,EAClB,oBAA4B;QAD5B,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAEpC,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAA;IACtE,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACvC,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,MAAkB;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS;eAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAA;IACnF,CAAC;CACF;AApCD,8EAoCC"}
@@ -22,10 +22,10 @@ class ExpirableCacheWithStaleIfError {
22
22
  }
23
23
  else {
24
24
  const elapsed = Date.now() - record.updatedAt;
25
- if (elapsed <= this.timeToLive) {
25
+ if (elapsed < this.timeToLive) {
26
26
  return [extra_memoize_1.State.Hit, record.value];
27
27
  }
28
- else if (elapsed <= this.timeToLive + this.staleIfError) {
28
+ else if (elapsed < this.timeToLive + this.staleIfError) {
29
29
  return [extra_memoize_1.State.StaleIfError, record.value];
30
30
  }
31
31
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"expirable-cache-with-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAyD;AAOzD,MAAa,8BAA8B;IAGzC,YAAoB,UAAkB,EAAU,YAAoB;QAAhD,eAAU,GAAV,UAAU,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAQ;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,YAAY,CAAC,CAAA;IAC5D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACzD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA9BD,wEA8BC"}
1
+ {"version":3,"file":"expirable-cache-with-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAyD;AAOzD,MAAa,8BAA8B;IAGzC,YAAoB,UAAkB,EAAU,YAAoB;QAAhD,eAAU,GAAV,UAAU,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAQ;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,YAAY,CAAC,CAAA;IAC5D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACxD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA9BD,wEA8BC"}
@@ -23,13 +23,13 @@ class ExpirableCacheWithStaleWhileRevalidateAndStaleIfError {
23
23
  }
24
24
  else {
25
25
  const elapsed = Date.now() - record.updatedAt;
26
- if (elapsed <= this.timeToLive) {
26
+ if (elapsed < this.timeToLive) {
27
27
  return [extra_memoize_1.State.Hit, record.value];
28
28
  }
29
- else if (elapsed <= this.timeToLive + this.staleWhileRevalidate) {
29
+ else if (elapsed < this.timeToLive + this.staleWhileRevalidate) {
30
30
  return [extra_memoize_1.State.StaleWhileRevalidate, record.value];
31
31
  }
32
- else if (elapsed <= this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
32
+ else if (elapsed < this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
33
33
  return [extra_memoize_1.State.StaleIfError, record.value];
34
34
  }
35
35
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"expirable-cache-with-stale-while-revalidate-and-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAgF;AAOhF,MAAa,qDAAqD;IAGhE,YACU,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAFpB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,oBAAoB,GAAG,YAAY,CAAC,CAAA;IACnF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QAOb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACrF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA1CD,sHA0CC"}
1
+ {"version":3,"file":"expirable-cache-with-stale-while-revalidate-and-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-while-revalidate-and-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAgF;AAOhF,MAAa,qDAAqD;IAGhE,YACU,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAFpB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,oBAAoB,GAAG,YAAY,CAAC,CAAA;IACnF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QAOb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBAChE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACpF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA1CD,sHA0CC"}
@@ -30,8 +30,9 @@ class ExpirableCacheWithStaleWhileRevalidate {
30
30
  }
31
31
  }
32
32
  isStaleWhileRevalidate(record) {
33
- return Date.now() - record.updatedAt > this.timeToLive
34
- && Date.now() - record.updatedAt <= this.timeToLive + this.staleWhileRevalidate;
33
+ const timestamp = Date.now();
34
+ return record.updatedAt + this.timeToLive <= timestamp
35
+ && record.updatedAt + this.timeToLive + this.staleWhileRevalidate > timestamp;
35
36
  }
36
37
  }
37
38
  exports.ExpirableCacheWithStaleWhileRevalidate = ExpirableCacheWithStaleWhileRevalidate;
@@ -1 +1 @@
1
- {"version":3,"file":"expirable-cache-with-stale-while-revalidate.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-while-revalidate.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAiE;AAOjE,MAAa,sCAAsC;IAGjD,YAAoB,UAAkB,EAAU,oBAA4B;QAAxD,eAAU,GAAV,UAAU,CAAQ;QAAU,yBAAoB,GAApB,oBAAoB,CAAQ;QAC1E,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,oBAAoB,CAAC,CAAA;IACpE,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACvC,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAEO,sBAAsB,CAAC,MAAkB;QAC/C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;eAC/C,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IACrF,CAAC;CACF;AA/BD,wFA+BC"}
1
+ {"version":3,"file":"expirable-cache-with-stale-while-revalidate.js","sourceRoot":"","sources":["../../../src/caches/expirable-cache-with-stale-while-revalidate.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,iDAAiE;AAOjE,MAAa,sCAAsC;IAGjD,YAAoB,UAAkB,EAAU,oBAA4B;QAAxD,eAAU,GAAV,UAAU,CAAQ;QAAU,yBAAoB,GAApB,oBAAoB,CAAQ;QAC1E,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAc,CAAC,UAAU,GAAG,oBAAoB,CAAC,CAAA;IACpE,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACvC,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAEO,sBAAsB,CAAC,MAAkB;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS;eAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAA;IACnF,CAAC;CACF;AAhCD,wFAgCC"}
@@ -22,10 +22,10 @@ class TLRUCacheWithStaleIfError {
22
22
  }
23
23
  else {
24
24
  const elapsed = Date.now() - record.updatedAt;
25
- if (elapsed <= this.timeToLive) {
25
+ if (elapsed < this.timeToLive) {
26
26
  return [extra_memoize_1.State.Hit, record.value];
27
27
  }
28
- else if (elapsed <= this.timeToLive + this.staleIfError) {
28
+ else if (elapsed < this.timeToLive + this.staleIfError) {
29
29
  return [extra_memoize_1.State.StaleIfError, record.value];
30
30
  }
31
31
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"tlru-cache-with-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAyD;AAOzD,MAAa,yBAAyB;IAGpC,YACE,KAAa,EACL,UAAkB,EAClB,YAAoB;QADpB,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACzD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AAlCD,8DAkCC"}
1
+ {"version":3,"file":"tlru-cache-with-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAyD;AAOzD,MAAa,yBAAyB;IAGpC,YACE,KAAa,EACL,UAAkB,EAClB,YAAoB;QADpB,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACxD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AAlCD,8DAkCC"}
@@ -23,13 +23,13 @@ class TLRUCacheWithStaleWhileRevalidateAndStaleIfError {
23
23
  }
24
24
  else {
25
25
  const elapsed = Date.now() - record.updatedAt;
26
- if (elapsed <= this.timeToLive) {
26
+ if (elapsed < this.timeToLive) {
27
27
  return [extra_memoize_1.State.Hit, record.value];
28
28
  }
29
- else if (elapsed <= this.timeToLive + this.staleWhileRevalidate) {
29
+ else if (elapsed < this.timeToLive + this.staleWhileRevalidate) {
30
30
  return [extra_memoize_1.State.StaleWhileRevalidate, record.value];
31
31
  }
32
- else if (elapsed <= this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
32
+ else if (elapsed < this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
33
33
  return [extra_memoize_1.State.StaleIfError, record.value];
34
34
  }
35
35
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"tlru-cache-with-stale-while-revalidate-and-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAgF;AAOhF,MAAa,gDAAgD;IAG3D,YACE,KAAa,EACL,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAFpB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,GAAG,YAAY,CAAC,CAAA;IACrF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QAOb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACrF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA3CD,4GA2CC"}
1
+ {"version":3,"file":"tlru-cache-with-stale-while-revalidate-and-stale-if-error.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-while-revalidate-and-stale-if-error.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAgF;AAOhF,MAAa,gDAAgD;IAG3D,YACE,KAAa,EACL,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAFpB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,GAAG,YAAY,CAAC,CAAA;IACrF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QAOb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBAChE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACpF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAC1C;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;CACF;AA3CD,4GA2CC"}
@@ -30,8 +30,9 @@ class TLRUCacheWithStaleWhileRevalidate {
30
30
  }
31
31
  }
32
32
  isStaleWhileRevalidate(record) {
33
- return Date.now() - record.updatedAt > this.timeToLive
34
- && Date.now() - record.updatedAt <= this.timeToLive + this.staleWhileRevalidate;
33
+ const timestamp = Date.now();
34
+ return record.updatedAt + this.timeToLive <= timestamp
35
+ && record.updatedAt + this.timeToLive + this.staleWhileRevalidate > timestamp;
35
36
  }
36
37
  }
37
38
  exports.TLRUCacheWithStaleWhileRevalidate = TLRUCacheWithStaleWhileRevalidate;
@@ -1 +1 @@
1
- {"version":3,"file":"tlru-cache-with-stale-while-revalidate.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-while-revalidate.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAiE;AAOjE,MAAa,iCAAiC;IAG5C,YACE,KAAa,EACL,UAAkB,EAClB,oBAA4B;QAD5B,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAEpC,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAA;IACtE,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACvC,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,MAAkB;QACvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU;eAC/C,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IACrF,CAAC;CACF;AAnCD,8EAmCC"}
1
+ {"version":3,"file":"tlru-cache-with-stale-while-revalidate.js","sourceRoot":"","sources":["../../../src/caches/tlru-cache-with-stale-while-revalidate.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,iDAAiE;AAOjE,MAAa,iCAAiC;IAG5C,YACE,KAAa,EACL,UAAkB,EAClB,oBAA4B;QAD5B,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAEpC,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAA;IACtE,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,qBAAK,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACvC,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aAClD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,MAAkB;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS;eAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAA;IACnF,CAAC;CACF;AApCD,8EAoCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@extra-memoize/memory-cache",
3
- "version": "0.2.10",
3
+ "version": "0.2.11",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "files": [
@@ -26,9 +26,9 @@ export class ExpirableCacheWithStaleIfError<T> implements IStaleIfErrorCache<T>
26
26
  return [State.Miss]
27
27
  } else {
28
28
  const elapsed = Date.now() - record.updatedAt
29
- if (elapsed <= this.timeToLive) {
29
+ if (elapsed < this.timeToLive) {
30
30
  return [State.Hit, record.value]
31
- } else if (elapsed <= this.timeToLive + this.staleIfError) {
31
+ } else if (elapsed < this.timeToLive + this.staleIfError) {
32
32
  return [State.StaleIfError, record.value]
33
33
  } else {
34
34
  // just in case
@@ -36,11 +36,11 @@ export class ExpirableCacheWithStaleWhileRevalidateAndStaleIfError<T> implements
36
36
  return [State.Miss]
37
37
  } else {
38
38
  const elapsed = Date.now() - record.updatedAt
39
- if (elapsed <= this.timeToLive) {
39
+ if (elapsed < this.timeToLive) {
40
40
  return [State.Hit, record.value]
41
- } else if (elapsed <= this.timeToLive + this.staleWhileRevalidate) {
41
+ } else if (elapsed < this.timeToLive + this.staleWhileRevalidate) {
42
42
  return [State.StaleWhileRevalidate, record.value]
43
- } else if (elapsed <= this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
43
+ } else if (elapsed < this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
44
44
  return [State.StaleIfError, record.value]
45
45
  } else {
46
46
  // just in case
@@ -34,7 +34,8 @@ export class ExpirableCacheWithStaleWhileRevalidate<T> implements IStaleWhileRev
34
34
  }
35
35
 
36
36
  private isStaleWhileRevalidate(record: IRecord<T>): boolean {
37
- return Date.now() - record.updatedAt > this.timeToLive
38
- && Date.now() - record.updatedAt <= this.timeToLive + this.staleWhileRevalidate
37
+ const timestamp = Date.now()
38
+ return record.updatedAt + this.timeToLive <= timestamp
39
+ && record.updatedAt + this.timeToLive + this.staleWhileRevalidate > timestamp
39
40
  }
40
41
  }
@@ -30,9 +30,9 @@ export class TLRUCacheWithStaleIfError<T> implements IStaleIfErrorCache<T> {
30
30
  return [State.Miss]
31
31
  } else {
32
32
  const elapsed = Date.now() - record.updatedAt
33
- if (elapsed <= this.timeToLive) {
33
+ if (elapsed < this.timeToLive) {
34
34
  return [State.Hit, record.value]
35
- } else if (elapsed <= this.timeToLive + this.staleIfError) {
35
+ } else if (elapsed < this.timeToLive + this.staleIfError) {
36
36
  return [State.StaleIfError, record.value]
37
37
  } else {
38
38
  // just in case
@@ -37,11 +37,11 @@ export class TLRUCacheWithStaleWhileRevalidateAndStaleIfError<T> implements ISta
37
37
  return [State.Miss]
38
38
  } else {
39
39
  const elapsed = Date.now() - record.updatedAt
40
- if (elapsed <= this.timeToLive) {
40
+ if (elapsed < this.timeToLive) {
41
41
  return [State.Hit, record.value]
42
- } else if (elapsed <= this.timeToLive + this.staleWhileRevalidate) {
42
+ } else if (elapsed < this.timeToLive + this.staleWhileRevalidate) {
43
43
  return [State.StaleWhileRevalidate, record.value]
44
- } else if (elapsed <= this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
44
+ } else if (elapsed < this.timeToLive + this.staleWhileRevalidate + this.staleIfError) {
45
45
  return [State.StaleIfError, record.value]
46
46
  } else {
47
47
  // just in case
@@ -38,7 +38,8 @@ export class TLRUCacheWithStaleWhileRevalidate<T> implements IStaleWhileRevalida
38
38
  }
39
39
 
40
40
  isStaleWhileRevalidate(record: IRecord<T>): boolean {
41
- return Date.now() - record.updatedAt > this.timeToLive
42
- && Date.now() - record.updatedAt <= this.timeToLive + this.staleWhileRevalidate
41
+ const timestamp = Date.now()
42
+ return record.updatedAt + this.timeToLive <= timestamp
43
+ && record.updatedAt + this.timeToLive + this.staleWhileRevalidate > timestamp
43
44
  }
44
45
  }