@extra-memoize/extra-disk-cache 0.6.4 → 0.7.0

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 (32) hide show
  1. package/README.md +4 -14
  2. package/lib/es2015/disk-cache.d.ts +3 -4
  3. package/lib/es2015/disk-cache.js +4 -12
  4. package/lib/es2015/disk-cache.js.map +1 -1
  5. package/lib/es2015/stale-if-error-async-disk-cache.d.ts +3 -4
  6. package/lib/es2015/stale-if-error-async-disk-cache.js +4 -12
  7. package/lib/es2015/stale-if-error-async-disk-cache.js.map +1 -1
  8. package/lib/es2015/stale-while-revalidate-and-stale-if-error-async-disk-cache.d.ts +3 -4
  9. package/lib/es2015/stale-while-revalidate-and-stale-if-error-async-disk-cache.js +4 -12
  10. package/lib/es2015/stale-while-revalidate-and-stale-if-error-async-disk-cache.js.map +1 -1
  11. package/lib/es2015/stale-while-revalidate-async-disk-cache.d.ts +3 -4
  12. package/lib/es2015/stale-while-revalidate-async-disk-cache.js +4 -12
  13. package/lib/es2015/stale-while-revalidate-async-disk-cache.js.map +1 -1
  14. package/lib/es2018/disk-cache.d.ts +3 -4
  15. package/lib/es2018/disk-cache.js +4 -12
  16. package/lib/es2018/disk-cache.js.map +1 -1
  17. package/lib/es2018/stale-if-error-async-disk-cache.d.ts +3 -4
  18. package/lib/es2018/stale-if-error-async-disk-cache.js +4 -12
  19. package/lib/es2018/stale-if-error-async-disk-cache.js.map +1 -1
  20. package/lib/es2018/stale-while-revalidate-and-stale-if-error-async-disk-cache.d.ts +3 -4
  21. package/lib/es2018/stale-while-revalidate-and-stale-if-error-async-disk-cache.js +4 -12
  22. package/lib/es2018/stale-while-revalidate-and-stale-if-error-async-disk-cache.js.map +1 -1
  23. package/lib/es2018/stale-while-revalidate-async-disk-cache.d.ts +3 -4
  24. package/lib/es2018/stale-while-revalidate-async-disk-cache.js +4 -12
  25. package/lib/es2018/stale-while-revalidate-async-disk-cache.js.map +1 -1
  26. package/package.json +16 -16
  27. package/lib/es2015/utils.d.ts +0 -3
  28. package/lib/es2015/utils.js +0 -12
  29. package/lib/es2015/utils.js.map +0 -1
  30. package/lib/es2018/utils.d.ts +0 -3
  31. package/lib/es2018/utils.js +0 -12
  32. package/lib/es2018/utils.js.map +0 -1
package/README.md CHANGED
@@ -14,11 +14,7 @@ yarn add @extra-memoize/extra-disk-cache
14
14
  #### DiskCache
15
15
  ```ts
16
16
  class DiskCache<T> implements ICache<T> {
17
- constructor(
18
- cache: ExtraDiskCache
19
- , toBuffer?: (value: T) => Buffer
20
- , fromBuffer?: (buffer: Buffer) => T
21
- )
17
+ constructor(view: DiskCacheView<string, T>)
22
18
  }
23
19
  ```
24
20
 
@@ -26,11 +22,9 @@ class DiskCache<T> implements ICache<T> {
26
22
  ```ts
27
23
  class StaleWhileRevalidateDiskCache<T> implements IStaleWhileRevalidateCache<T> {
28
24
  constructor(
29
- cache: ExtraDiskCache
25
+ view: DiskCacheView<string, T>
30
26
  , timeToLive: number
31
27
  , staleWhileRevalidate: number
32
- , toBuffer?: (value: T) => Buffer
33
- , fromBuffer?: (buffer: Buffer) => T
34
28
  )
35
29
  }
36
30
  ```
@@ -39,11 +33,9 @@ class StaleWhileRevalidateDiskCache<T> implements IStaleWhileRevalidateCache<T>
39
33
  ```ts
40
34
  class StaleIfErrorDiskCache<T> implements IStaleIfErrorCache<T> {
41
35
  constructor(
42
- cache: ExtraDiskCache
36
+ view: DiskCacheView<string, T>
43
37
  , timeToLive: number
44
38
  , staleIfError: number
45
- , toBuffer?: (value: T) => Buffer
46
- , fromBuffer?: (buffer: Buffer) => T
47
39
  )
48
40
  }
49
41
  ```
@@ -52,12 +44,10 @@ class StaleIfErrorDiskCache<T> implements IStaleIfErrorCache<T> {
52
44
  ```ts
53
45
  class StaleWhileRevalidateAndStaleIfErrorDiskCache<T> implements IStaleWhileRevalidateAndStaleIfErrorCache<T> {
54
46
  constructor(
55
- cache: ExtratDiskCache
47
+ view: DiskCacheView<string, T>
56
48
  , timeToLive: number
57
49
  , staleWhileRevalidate: number
58
50
  , staleIfError: number
59
- , toBuffer?: (value: T) => Buffer
60
- , fromBuffer?: (buffer: Buffer) => T
61
51
  )
62
52
  }
63
53
  ```
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  import { ICache, State } from 'extra-memoize';
3
- import { DiskCache as ExtraDiskCache, DiskCacheView } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class DiskCache<T> implements ICache<T> {
5
- cache: DiskCacheView<string, T>;
6
- constructor(cache: ExtraDiskCache, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
4
+ private view;
5
+ constructor(view: DiskCacheView<string, T>);
7
6
  get(key: string): [State.Miss] | [State.Hit, T];
8
7
  set(key: string, value: T): void;
9
8
  }
@@ -2,21 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DiskCache = void 0;
4
4
  const extra_memoize_1 = require("extra-memoize");
5
- const extra_disk_cache_1 = require("extra-disk-cache");
6
5
  const prelude_1 = require("@blackglory/prelude");
7
- const utils_1 = require("./utils");
8
6
  class DiskCache {
9
- constructor(cache, toBuffer = utils_1.defaultToBuffer, fromBuffer = utils_1.defaultFromBuffer) {
10
- this.cache = new extra_disk_cache_1.DiskCacheView(cache, {
11
- toString: x => x,
12
- fromString: x => x
13
- }, {
14
- toBuffer,
15
- fromBuffer
16
- });
7
+ constructor(view) {
8
+ this.view = view;
17
9
  }
18
10
  get(key) {
19
- const item = this.cache.get(key);
11
+ const item = this.view.get(key);
20
12
  if ((0, prelude_1.isUndefined)(item)) {
21
13
  return [extra_memoize_1.State.Miss];
22
14
  }
@@ -25,7 +17,7 @@ class DiskCache {
25
17
  }
26
18
  }
27
19
  set(key, value) {
28
- this.cache.set(key, value, Date.now());
20
+ this.view.set(key, value, Date.now());
29
21
  }
30
22
  }
31
23
  exports.DiskCache = DiskCache;
@@ -1 +1 @@
1
- {"version":3,"file":"disk-cache.js","sourceRoot":"","sources":["../../src/disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,uDAA6E;AAC7E,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,SAAS;IAGpB,YACE,KAAqB,EACrB,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAErD,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAa,CAC5B,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,EACD;YACE,QAAQ;YACR,UAAU;SACX,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;SAC/B;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACxC,CAAC;CACF;AAnCD,8BAmCC"}
1
+ {"version":3,"file":"disk-cache.js","sourceRoot":"","sources":["../../src/disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C,iDAAiD;AAEjD,MAAa,SAAS;IACpB,YAAoB,IAA8B;QAA9B,SAAI,GAAJ,IAAI,CAA0B;IAAG,CAAC;IAEtD,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;SAC/B;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACvC,CAAC;CACF;AAjBD,8BAiBC"}
@@ -1,11 +1,10 @@
1
- /// <reference types="node" />
2
1
  import { IStaleIfErrorCache, State } from 'extra-memoize';
3
- import { DiskCache, DiskCacheView } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class StaleIfErrorDiskCache<T> implements IStaleIfErrorCache<T> {
4
+ private view;
5
5
  private timeToLive;
6
6
  private staleIfError;
7
- cache: DiskCacheView<string, T>;
8
- constructor(cache: DiskCache, timeToLive: number, staleIfError: number, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
7
+ constructor(view: DiskCacheView<string, T>, timeToLive: number, staleIfError: number);
9
8
  get(key: string): [State.Miss] | [State.Hit | State.StaleIfError, T];
10
9
  set(key: string, value: T): void;
11
10
  }
@@ -2,23 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StaleIfErrorDiskCache = void 0;
4
4
  const extra_memoize_1 = require("extra-memoize");
5
- const extra_disk_cache_1 = require("extra-disk-cache");
6
5
  const prelude_1 = require("@blackglory/prelude");
7
- const utils_1 = require("./utils");
8
6
  class StaleIfErrorDiskCache {
9
- constructor(cache, timeToLive, staleIfError, toBuffer = utils_1.defaultToBuffer, fromBuffer = utils_1.defaultFromBuffer) {
7
+ constructor(view, timeToLive, staleIfError) {
8
+ this.view = view;
10
9
  this.timeToLive = timeToLive;
11
10
  this.staleIfError = staleIfError;
12
- this.cache = new extra_disk_cache_1.DiskCacheView(cache, {
13
- toString: x => x,
14
- fromString: x => x
15
- }, {
16
- toBuffer,
17
- fromBuffer
18
- });
19
11
  }
20
12
  get(key) {
21
- const item = this.cache.get(key);
13
+ const item = this.view.get(key);
22
14
  if ((0, prelude_1.isUndefined)(item)) {
23
15
  return [extra_memoize_1.State.Miss];
24
16
  }
@@ -36,7 +28,7 @@ class StaleIfErrorDiskCache {
36
28
  }
37
29
  }
38
30
  set(key, value) {
39
- this.cache.set(key, value, Date.now(), this.timeToLive + this.staleIfError);
31
+ this.view.set(key, value, Date.now(), this.timeToLive + this.staleIfError);
40
32
  }
41
33
  }
42
34
  exports.StaleIfErrorDiskCache = StaleIfErrorDiskCache;
@@ -1 +1 @@
1
- {"version":3,"file":"stale-if-error-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-if-error-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AACzD,uDAA2D;AAC3D,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,qBAAqB;IAGhC,YACE,KAAgB,EACR,UAAkB,EAClB,YAAoB,EAC5B,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAH7C,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAI5B,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAa,CAC5B,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,EACD;YACE,QAAQ;YACR,UAAU;SACX,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACzD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACxC;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CACpC,CAAA;IACH,CAAC;CACF;AAlDD,sDAkDC"}
1
+ {"version":3,"file":"stale-if-error-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-if-error-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAEzD,iDAAiD;AAEjD,MAAa,qBAAqB;IAChC,YACU,IAA8B,EAC9B,UAAkB,EAClB,YAAoB;QAFpB,SAAI,GAAJ,IAAI,CAA0B;QAC9B,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;IAC3B,CAAC;IAEJ,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACzD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACxC;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CACpC,CAAA;IACH,CAAC;CACF;AAlCD,sDAkCC"}
@@ -1,12 +1,11 @@
1
- /// <reference types="node" />
2
1
  import { IStaleWhileRevalidateAndStaleIfErrorCache, State } from 'extra-memoize';
3
- import { DiskCache, DiskCacheView } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class StaleWhileRevalidateAndStaleIfErrorDiskCache<T> implements IStaleWhileRevalidateAndStaleIfErrorCache<T> {
4
+ private view;
5
5
  private timeToLive;
6
6
  private staleWhileRevalidate;
7
7
  private staleIfError;
8
- cache: DiskCacheView<string, T>;
9
- constructor(cache: DiskCache, timeToLive: number, staleWhileRevalidate: number, staleIfError: number, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
8
+ constructor(view: DiskCacheView<string, T>, timeToLive: number, staleWhileRevalidate: number, staleIfError: number);
10
9
  get(key: string): [State.Miss] | [State.Hit | State.StaleWhileRevalidate | State.StaleIfError, T];
11
10
  set(key: string, value: T): void;
12
11
  }
@@ -2,24 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StaleWhileRevalidateAndStaleIfErrorDiskCache = void 0;
4
4
  const extra_memoize_1 = require("extra-memoize");
5
- const extra_disk_cache_1 = require("extra-disk-cache");
6
5
  const prelude_1 = require("@blackglory/prelude");
7
- const utils_1 = require("./utils");
8
6
  class StaleWhileRevalidateAndStaleIfErrorDiskCache {
9
- constructor(cache, timeToLive, staleWhileRevalidate, staleIfError, toBuffer = utils_1.defaultToBuffer, fromBuffer = utils_1.defaultFromBuffer) {
7
+ constructor(view, timeToLive, staleWhileRevalidate, staleIfError) {
8
+ this.view = view;
10
9
  this.timeToLive = timeToLive;
11
10
  this.staleWhileRevalidate = staleWhileRevalidate;
12
11
  this.staleIfError = staleIfError;
13
- this.cache = new extra_disk_cache_1.DiskCacheView(cache, {
14
- toString: x => x,
15
- fromString: x => x
16
- }, {
17
- toBuffer,
18
- fromBuffer
19
- });
20
12
  }
21
13
  get(key) {
22
- const item = this.cache.get(key);
14
+ const item = this.view.get(key);
23
15
  if ((0, prelude_1.isUndefined)(item)) {
24
16
  return [extra_memoize_1.State.Miss];
25
17
  }
@@ -40,7 +32,7 @@ class StaleWhileRevalidateAndStaleIfErrorDiskCache {
40
32
  }
41
33
  }
42
34
  set(key, value) {
43
- this.cache.set(key, value, Date.now(), this.timeToLive + this.staleWhileRevalidate + this.staleIfError);
35
+ this.view.set(key, value, Date.now(), this.timeToLive + this.staleWhileRevalidate + this.staleIfError);
44
36
  }
45
37
  }
46
38
  exports.StaleWhileRevalidateAndStaleIfErrorDiskCache = StaleWhileRevalidateAndStaleIfErrorDiskCache;
@@ -1 +1 @@
1
- {"version":3,"file":"stale-while-revalidate-and-stale-if-error-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-and-stale-if-error-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAgF;AAChF,uDAA2D;AAC3D,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,4CAA4C;IAGvD,YACE,KAAgB,EACR,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB,EAC5B,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAJ7C,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAI5B,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAa,CAC5B,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,EACD;YACE,QAAQ;YACR,UAAU;SACX,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAChD;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACrF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACxC;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAChE,CAAA;IACH,CAAC;CACF;AArDD,oGAqDC"}
1
+ {"version":3,"file":"stale-while-revalidate-and-stale-if-error-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-and-stale-if-error-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAgF;AAEhF,iDAAiD;AAEjD,MAAa,4CAA4C;IACvD,YACU,IAA8B,EAC9B,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAHpB,SAAI,GAAJ,IAAI,CAA0B;QAC9B,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;IAC3B,CAAC;IAEJ,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAChD;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACrF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACxC;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAChE,CAAA;IACH,CAAC;CACF;AArCD,oGAqCC"}
@@ -1,11 +1,10 @@
1
- /// <reference types="node" />
2
1
  import { IStaleWhileRevalidateCache, State } from 'extra-memoize';
3
- import { DiskCache, DiskCacheView } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class StaleWhileRevalidateDiskCache<T> implements IStaleWhileRevalidateCache<T> {
4
+ private view;
5
5
  private timeToLive;
6
6
  private staleWhileRevalidate;
7
- cache: DiskCacheView<string, T>;
8
- constructor(cache: DiskCache, timeToLive: number, staleWhileRevalidate: number, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
7
+ constructor(view: DiskCacheView<string, T>, timeToLive: number, staleWhileRevalidate: number);
9
8
  get(key: string): [State.Miss] | [State.Hit | State.StaleWhileRevalidate, T];
10
9
  set(key: string, value: T): void;
11
10
  private isStaleWhileRevalidate;
@@ -2,23 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StaleWhileRevalidateDiskCache = void 0;
4
4
  const extra_memoize_1 = require("extra-memoize");
5
- const extra_disk_cache_1 = require("extra-disk-cache");
6
5
  const prelude_1 = require("@blackglory/prelude");
7
- const utils_1 = require("./utils");
8
6
  class StaleWhileRevalidateDiskCache {
9
- constructor(cache, timeToLive, staleWhileRevalidate, toBuffer = utils_1.defaultToBuffer, fromBuffer = utils_1.defaultFromBuffer) {
7
+ constructor(view, timeToLive, staleWhileRevalidate) {
8
+ this.view = view;
10
9
  this.timeToLive = timeToLive;
11
10
  this.staleWhileRevalidate = staleWhileRevalidate;
12
- this.cache = new extra_disk_cache_1.DiskCacheView(cache, {
13
- toString: x => x,
14
- fromString: x => x
15
- }, {
16
- toBuffer,
17
- fromBuffer
18
- });
19
11
  }
20
12
  get(key) {
21
- const item = this.cache.get(key);
13
+ const item = this.view.get(key);
22
14
  if ((0, prelude_1.isUndefined)(item)) {
23
15
  return [extra_memoize_1.State.Miss];
24
16
  }
@@ -32,7 +24,7 @@ class StaleWhileRevalidateDiskCache {
32
24
  }
33
25
  }
34
26
  set(key, value) {
35
- this.cache.set(key, value, Date.now(), this.timeToLive + this.staleWhileRevalidate);
27
+ this.view.set(key, value, Date.now(), this.timeToLive + this.staleWhileRevalidate);
36
28
  }
37
29
  isStaleWhileRevalidate(updatedAt) {
38
30
  const elapsed = Date.now() - updatedAt;
@@ -1 +1 @@
1
- {"version":3,"file":"stale-while-revalidate-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAiE;AACjE,uDAA2D;AAC3D,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,6BAA6B;IAGxC,YACE,KAAgB,EACR,UAAkB,EAClB,oBAA4B,EACpC,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAH7C,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAIpC,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAa,CAC5B,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,EACD;YACE,QAAQ;YACR,UAAU;SACX,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC/C,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAChD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAC5C,CAAA;IACH,CAAC;IAEO,sBAAsB,CAAC,SAAiB;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QACtC,OAAO,OAAO,GAAG,IAAI,CAAC,UAAU;eACzB,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IAC9D,CAAC;CACF;AApDD,sEAoDC"}
1
+ {"version":3,"file":"stale-while-revalidate-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAiE;AAEjE,iDAAiD;AAEjD,MAAa,6BAA6B;IACxC,YACU,IAA8B,EAC9B,UAAkB,EAClB,oBAA4B;QAF5B,SAAI,GAAJ,IAAI,CAA0B;QAC9B,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;IACnC,CAAC;IAEJ,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC/C,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAChD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAC5C,CAAA;IACH,CAAC;IAEO,sBAAsB,CAAC,SAAiB;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QACtC,OAAO,OAAO,GAAG,IAAI,CAAC,UAAU;eACzB,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IAC9D,CAAC;CACF;AApCD,sEAoCC"}
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  import { ICache, State } from 'extra-memoize';
3
- import { DiskCache as ExtraDiskCache, DiskCacheView } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class DiskCache<T> implements ICache<T> {
5
- cache: DiskCacheView<string, T>;
6
- constructor(cache: ExtraDiskCache, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
4
+ private view;
5
+ constructor(view: DiskCacheView<string, T>);
7
6
  get(key: string): [State.Miss] | [State.Hit, T];
8
7
  set(key: string, value: T): void;
9
8
  }
@@ -2,21 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DiskCache = void 0;
4
4
  const extra_memoize_1 = require("extra-memoize");
5
- const extra_disk_cache_1 = require("extra-disk-cache");
6
5
  const prelude_1 = require("@blackglory/prelude");
7
- const utils_1 = require("./utils");
8
6
  class DiskCache {
9
- constructor(cache, toBuffer = utils_1.defaultToBuffer, fromBuffer = utils_1.defaultFromBuffer) {
10
- this.cache = new extra_disk_cache_1.DiskCacheView(cache, {
11
- toString: x => x,
12
- fromString: x => x
13
- }, {
14
- toBuffer,
15
- fromBuffer
16
- });
7
+ constructor(view) {
8
+ this.view = view;
17
9
  }
18
10
  get(key) {
19
- const item = this.cache.get(key);
11
+ const item = this.view.get(key);
20
12
  if ((0, prelude_1.isUndefined)(item)) {
21
13
  return [extra_memoize_1.State.Miss];
22
14
  }
@@ -25,7 +17,7 @@ class DiskCache {
25
17
  }
26
18
  }
27
19
  set(key, value) {
28
- this.cache.set(key, value, Date.now());
20
+ this.view.set(key, value, Date.now());
29
21
  }
30
22
  }
31
23
  exports.DiskCache = DiskCache;
@@ -1 +1 @@
1
- {"version":3,"file":"disk-cache.js","sourceRoot":"","sources":["../../src/disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,uDAA6E;AAC7E,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,SAAS;IAGpB,YACE,KAAqB,EACrB,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAErD,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAa,CAC5B,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,EACD;YACE,QAAQ;YACR,UAAU;SACX,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;SAC/B;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACxC,CAAC;CACF;AAnCD,8BAmCC"}
1
+ {"version":3,"file":"disk-cache.js","sourceRoot":"","sources":["../../src/disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C,iDAAiD;AAEjD,MAAa,SAAS;IACpB,YAAoB,IAA8B;QAA9B,SAAI,GAAJ,IAAI,CAA0B;IAAG,CAAC;IAEtD,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;SAC/B;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACvC,CAAC;CACF;AAjBD,8BAiBC"}
@@ -1,11 +1,10 @@
1
- /// <reference types="node" />
2
1
  import { IStaleIfErrorCache, State } from 'extra-memoize';
3
- import { DiskCache, DiskCacheView } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class StaleIfErrorDiskCache<T> implements IStaleIfErrorCache<T> {
4
+ private view;
5
5
  private timeToLive;
6
6
  private staleIfError;
7
- cache: DiskCacheView<string, T>;
8
- constructor(cache: DiskCache, timeToLive: number, staleIfError: number, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
7
+ constructor(view: DiskCacheView<string, T>, timeToLive: number, staleIfError: number);
9
8
  get(key: string): [State.Miss] | [State.Hit | State.StaleIfError, T];
10
9
  set(key: string, value: T): void;
11
10
  }
@@ -2,23 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StaleIfErrorDiskCache = void 0;
4
4
  const extra_memoize_1 = require("extra-memoize");
5
- const extra_disk_cache_1 = require("extra-disk-cache");
6
5
  const prelude_1 = require("@blackglory/prelude");
7
- const utils_1 = require("./utils");
8
6
  class StaleIfErrorDiskCache {
9
- constructor(cache, timeToLive, staleIfError, toBuffer = utils_1.defaultToBuffer, fromBuffer = utils_1.defaultFromBuffer) {
7
+ constructor(view, timeToLive, staleIfError) {
8
+ this.view = view;
10
9
  this.timeToLive = timeToLive;
11
10
  this.staleIfError = staleIfError;
12
- this.cache = new extra_disk_cache_1.DiskCacheView(cache, {
13
- toString: x => x,
14
- fromString: x => x
15
- }, {
16
- toBuffer,
17
- fromBuffer
18
- });
19
11
  }
20
12
  get(key) {
21
- const item = this.cache.get(key);
13
+ const item = this.view.get(key);
22
14
  if ((0, prelude_1.isUndefined)(item)) {
23
15
  return [extra_memoize_1.State.Miss];
24
16
  }
@@ -36,7 +28,7 @@ class StaleIfErrorDiskCache {
36
28
  }
37
29
  }
38
30
  set(key, value) {
39
- this.cache.set(key, value, Date.now(), this.timeToLive + this.staleIfError);
31
+ this.view.set(key, value, Date.now(), this.timeToLive + this.staleIfError);
40
32
  }
41
33
  }
42
34
  exports.StaleIfErrorDiskCache = StaleIfErrorDiskCache;
@@ -1 +1 @@
1
- {"version":3,"file":"stale-if-error-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-if-error-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AACzD,uDAA2D;AAC3D,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,qBAAqB;IAGhC,YACE,KAAgB,EACR,UAAkB,EAClB,YAAoB,EAC5B,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAH7C,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAI5B,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAa,CAC5B,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,EACD;YACE,QAAQ;YACR,UAAU;SACX,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACzD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACxC;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CACpC,CAAA;IACH,CAAC;CACF;AAlDD,sDAkDC"}
1
+ {"version":3,"file":"stale-if-error-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-if-error-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAEzD,iDAAiD;AAEjD,MAAa,qBAAqB;IAChC,YACU,IAA8B,EAC9B,UAAkB,EAClB,YAAoB;QAFpB,SAAI,GAAJ,IAAI,CAA0B;QAC9B,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;IAC3B,CAAC;IAEJ,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;gBACzD,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACxC;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CACpC,CAAA;IACH,CAAC;CACF;AAlCD,sDAkCC"}
@@ -1,12 +1,11 @@
1
- /// <reference types="node" />
2
1
  import { IStaleWhileRevalidateAndStaleIfErrorCache, State } from 'extra-memoize';
3
- import { DiskCache, DiskCacheView } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class StaleWhileRevalidateAndStaleIfErrorDiskCache<T> implements IStaleWhileRevalidateAndStaleIfErrorCache<T> {
4
+ private view;
5
5
  private timeToLive;
6
6
  private staleWhileRevalidate;
7
7
  private staleIfError;
8
- cache: DiskCacheView<string, T>;
9
- constructor(cache: DiskCache, timeToLive: number, staleWhileRevalidate: number, staleIfError: number, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
8
+ constructor(view: DiskCacheView<string, T>, timeToLive: number, staleWhileRevalidate: number, staleIfError: number);
10
9
  get(key: string): [State.Miss] | [State.Hit | State.StaleWhileRevalidate | State.StaleIfError, T];
11
10
  set(key: string, value: T): void;
12
11
  }
@@ -2,24 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StaleWhileRevalidateAndStaleIfErrorDiskCache = void 0;
4
4
  const extra_memoize_1 = require("extra-memoize");
5
- const extra_disk_cache_1 = require("extra-disk-cache");
6
5
  const prelude_1 = require("@blackglory/prelude");
7
- const utils_1 = require("./utils");
8
6
  class StaleWhileRevalidateAndStaleIfErrorDiskCache {
9
- constructor(cache, timeToLive, staleWhileRevalidate, staleIfError, toBuffer = utils_1.defaultToBuffer, fromBuffer = utils_1.defaultFromBuffer) {
7
+ constructor(view, timeToLive, staleWhileRevalidate, staleIfError) {
8
+ this.view = view;
10
9
  this.timeToLive = timeToLive;
11
10
  this.staleWhileRevalidate = staleWhileRevalidate;
12
11
  this.staleIfError = staleIfError;
13
- this.cache = new extra_disk_cache_1.DiskCacheView(cache, {
14
- toString: x => x,
15
- fromString: x => x
16
- }, {
17
- toBuffer,
18
- fromBuffer
19
- });
20
12
  }
21
13
  get(key) {
22
- const item = this.cache.get(key);
14
+ const item = this.view.get(key);
23
15
  if ((0, prelude_1.isUndefined)(item)) {
24
16
  return [extra_memoize_1.State.Miss];
25
17
  }
@@ -40,7 +32,7 @@ class StaleWhileRevalidateAndStaleIfErrorDiskCache {
40
32
  }
41
33
  }
42
34
  set(key, value) {
43
- this.cache.set(key, value, Date.now(), this.timeToLive + this.staleWhileRevalidate + this.staleIfError);
35
+ this.view.set(key, value, Date.now(), this.timeToLive + this.staleWhileRevalidate + this.staleIfError);
44
36
  }
45
37
  }
46
38
  exports.StaleWhileRevalidateAndStaleIfErrorDiskCache = StaleWhileRevalidateAndStaleIfErrorDiskCache;
@@ -1 +1 @@
1
- {"version":3,"file":"stale-while-revalidate-and-stale-if-error-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-and-stale-if-error-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAgF;AAChF,uDAA2D;AAC3D,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,4CAA4C;IAGvD,YACE,KAAgB,EACR,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB,EAC5B,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAJ7C,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;QAI5B,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAa,CAC5B,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,EACD;YACE,QAAQ;YACR,UAAU;SACX,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAChD;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACrF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACxC;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAChE,CAAA;IACH,CAAC;CACF;AArDD,oGAqDC"}
1
+ {"version":3,"file":"stale-while-revalidate-and-stale-if-error-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-and-stale-if-error-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAgF;AAEhF,iDAAiD;AAEjD,MAAa,4CAA4C;IACvD,YACU,IAA8B,EAC9B,UAAkB,EAClB,oBAA4B,EAC5B,YAAoB;QAHpB,SAAI,GAAJ,IAAI,CAA0B;QAC9B,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,iBAAY,GAAZ,YAAY,CAAQ;IAC3B,CAAC;IAEJ,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAChD;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;gBACrF,OAAO,CAAC,qBAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACxC;iBAAM;gBAEL,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAChE,CAAA;IACH,CAAC;CACF;AArCD,oGAqCC"}
@@ -1,11 +1,10 @@
1
- /// <reference types="node" />
2
1
  import { IStaleWhileRevalidateCache, State } from 'extra-memoize';
3
- import { DiskCache, DiskCacheView } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class StaleWhileRevalidateDiskCache<T> implements IStaleWhileRevalidateCache<T> {
4
+ private view;
5
5
  private timeToLive;
6
6
  private staleWhileRevalidate;
7
- cache: DiskCacheView<string, T>;
8
- constructor(cache: DiskCache, timeToLive: number, staleWhileRevalidate: number, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
7
+ constructor(view: DiskCacheView<string, T>, timeToLive: number, staleWhileRevalidate: number);
9
8
  get(key: string): [State.Miss] | [State.Hit | State.StaleWhileRevalidate, T];
10
9
  set(key: string, value: T): void;
11
10
  private isStaleWhileRevalidate;
@@ -2,23 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StaleWhileRevalidateDiskCache = void 0;
4
4
  const extra_memoize_1 = require("extra-memoize");
5
- const extra_disk_cache_1 = require("extra-disk-cache");
6
5
  const prelude_1 = require("@blackglory/prelude");
7
- const utils_1 = require("./utils");
8
6
  class StaleWhileRevalidateDiskCache {
9
- constructor(cache, timeToLive, staleWhileRevalidate, toBuffer = utils_1.defaultToBuffer, fromBuffer = utils_1.defaultFromBuffer) {
7
+ constructor(view, timeToLive, staleWhileRevalidate) {
8
+ this.view = view;
10
9
  this.timeToLive = timeToLive;
11
10
  this.staleWhileRevalidate = staleWhileRevalidate;
12
- this.cache = new extra_disk_cache_1.DiskCacheView(cache, {
13
- toString: x => x,
14
- fromString: x => x
15
- }, {
16
- toBuffer,
17
- fromBuffer
18
- });
19
11
  }
20
12
  get(key) {
21
- const item = this.cache.get(key);
13
+ const item = this.view.get(key);
22
14
  if ((0, prelude_1.isUndefined)(item)) {
23
15
  return [extra_memoize_1.State.Miss];
24
16
  }
@@ -32,7 +24,7 @@ class StaleWhileRevalidateDiskCache {
32
24
  }
33
25
  }
34
26
  set(key, value) {
35
- this.cache.set(key, value, Date.now(), this.timeToLive + this.staleWhileRevalidate);
27
+ this.view.set(key, value, Date.now(), this.timeToLive + this.staleWhileRevalidate);
36
28
  }
37
29
  isStaleWhileRevalidate(updatedAt) {
38
30
  const elapsed = Date.now() - updatedAt;
@@ -1 +1 @@
1
- {"version":3,"file":"stale-while-revalidate-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAiE;AACjE,uDAA2D;AAC3D,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,6BAA6B;IAGxC,YACE,KAAgB,EACR,UAAkB,EAClB,oBAA4B,EACpC,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAH7C,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAIpC,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAa,CAC5B,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnB,EACD;YACE,QAAQ;YACR,UAAU;SACX,CACF,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC/C,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAChD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAC5C,CAAA;IACH,CAAC;IAEO,sBAAsB,CAAC,SAAiB;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QACtC,OAAO,OAAO,GAAG,IAAI,CAAC,UAAU;eACzB,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IAC9D,CAAC;CACF;AApDD,sEAoDC"}
1
+ {"version":3,"file":"stale-while-revalidate-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAiE;AAEjE,iDAAiD;AAEjD,MAAa,6BAA6B;IACxC,YACU,IAA8B,EAC9B,UAAkB,EAClB,oBAA4B;QAF5B,SAAI,GAAJ,IAAI,CAA0B;QAC9B,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;IACnC,CAAC;IAEJ,GAAG,CAAC,GAAW;QAGb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC/C,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAChD;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aAC/B;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,EACH,KAAK,EACL,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAC5C,CAAA;IACH,CAAC;IAEO,sBAAsB,CAAC,SAAiB;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QACtC,OAAO,OAAO,GAAG,IAAI,CAAC,UAAU;eACzB,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IAC9D,CAAC;CACF;AApCD,sEAoCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@extra-memoize/extra-disk-cache",
3
- "version": "0.6.4",
3
+ "version": "0.7.0",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib"
@@ -35,31 +35,31 @@
35
35
  }
36
36
  },
37
37
  "devDependencies": {
38
- "@blackglory/jest-matchers": "^0.4.1",
39
- "@commitlint/cli": "^17.0.3",
40
- "@commitlint/config-conventional": "^17.0.3",
41
- "@types/jest": "^27.5.1",
42
- "@typescript-eslint/eslint-plugin": "^5.32.0",
43
- "@typescript-eslint/parser": "^5.32.0",
44
- "eslint": "^8.21.0",
45
- "extra-disk-cache": "^0.8.4",
46
- "extra-memoize": "^0.9.0",
38
+ "@blackglory/jest-matchers": "^0.5.0",
39
+ "@commitlint/cli": "^17.3.0",
40
+ "@commitlint/config-conventional": "^17.3.0",
41
+ "@types/jest": "^29.2.3",
42
+ "@typescript-eslint/eslint-plugin": "^5.44.0",
43
+ "@typescript-eslint/parser": "^5.44.0",
44
+ "eslint": "^8.28.0",
45
+ "extra-disk-cache": "^0.8.8",
46
+ "extra-memoize": "^0.9.1",
47
47
  "husky": "^4.3.8",
48
- "jest": "^28.1.3",
48
+ "jest": "^29.3.1",
49
49
  "npm-run-all": "^4.1.5",
50
50
  "return-style": "^1.0.0",
51
51
  "rimraf": "^3.0.2",
52
52
  "standard-version": "^9.5.0",
53
- "ts-jest": "^28.0.7",
53
+ "ts-jest": "^29.0.3",
54
54
  "tscpaths": "^0.0.9",
55
- "tslib": "^2.3.1",
56
- "typescript": "^4.7.4"
55
+ "tslib": "^2.4.1",
56
+ "typescript": "^4.9.3"
57
57
  },
58
58
  "dependencies": {
59
- "@blackglory/prelude": "^0.1.4"
59
+ "@blackglory/prelude": "^0.1.8"
60
60
  },
61
61
  "peerDependencies": {
62
- "extra-disk-cache": "^0.7.0 || ^0.8.0",
62
+ "extra-disk-cache": "^0.8.8",
63
63
  "extra-memoize": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0"
64
64
  }
65
65
  }
@@ -1,3 +0,0 @@
1
- /// <reference types="node" />
2
- export declare function defaultToBuffer<T>(value: T): Buffer;
3
- export declare function defaultFromBuffer<T>(buffer: Buffer): T;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultFromBuffer = exports.defaultToBuffer = void 0;
4
- function defaultToBuffer(value) {
5
- return Buffer.from(JSON.stringify(value));
6
- }
7
- exports.defaultToBuffer = defaultToBuffer;
8
- function defaultFromBuffer(buffer) {
9
- return JSON.parse(buffer.toString());
10
- }
11
- exports.defaultFromBuffer = defaultFromBuffer;
12
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAAI,KAAQ;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3C,CAAC;AAFD,0CAEC;AAED,SAAgB,iBAAiB,CAAI,MAAc;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;AACtC,CAAC;AAFD,8CAEC"}
@@ -1,3 +0,0 @@
1
- /// <reference types="node" />
2
- export declare function defaultToBuffer<T>(value: T): Buffer;
3
- export declare function defaultFromBuffer<T>(buffer: Buffer): T;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultFromBuffer = exports.defaultToBuffer = void 0;
4
- function defaultToBuffer(value) {
5
- return Buffer.from(JSON.stringify(value));
6
- }
7
- exports.defaultToBuffer = defaultToBuffer;
8
- function defaultFromBuffer(buffer) {
9
- return JSON.parse(buffer.toString());
10
- }
11
- exports.defaultFromBuffer = defaultFromBuffer;
12
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAAI,KAAQ;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3C,CAAC;AAFD,0CAEC;AAED,SAAgB,iBAAiB,CAAI,MAAc;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;AACtC,CAAC;AAFD,8CAEC"}