@extra-memoize/extra-disk-cache 0.6.5 → 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 +3 -3
  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 } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class DiskCache<T> implements ICache<T> {
5
- private cache;
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 } 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
- private cache;
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 } 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
- private cache;
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 } 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
- private cache;
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 } from 'extra-disk-cache';
2
+ import { DiskCacheView } from 'extra-disk-cache';
4
3
  export declare class DiskCache<T> implements ICache<T> {
5
- private cache;
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 } 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
- private cache;
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 } 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
- private cache;
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 } 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
- private cache;
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.5",
3
+ "version": "0.7.0",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib"
@@ -42,7 +42,7 @@
42
42
  "@typescript-eslint/eslint-plugin": "^5.44.0",
43
43
  "@typescript-eslint/parser": "^5.44.0",
44
44
  "eslint": "^8.28.0",
45
- "extra-disk-cache": "^0.8.4",
45
+ "extra-disk-cache": "^0.8.8",
46
46
  "extra-memoize": "^0.9.1",
47
47
  "husky": "^4.3.8",
48
48
  "jest": "^29.3.1",
@@ -59,7 +59,7 @@
59
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"}