@extra-memoize/extra-disk-cache 0.4.0 → 0.5.1

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.
@@ -8,7 +8,7 @@ export declare class StaleWhileRevalidateAsyncDiskCache<T> implements IStaleWhil
8
8
  private toBuffer;
9
9
  private fromBuffer;
10
10
  constructor(cache: DiskCache, timeToLive: number, staleWhileRevalidate: number, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
11
- get(key: string): Promise<[State.Miss] | [State.Hit, T]>;
11
+ get(key: string): Promise<[State.Miss] | [State.Hit | State.StaleWhileRevalidate, T]>;
12
12
  set(key: string, value: T): Promise<void>;
13
- isStaleWhileRevalidate(key: string): Promise<boolean>;
13
+ private isStaleWhileRevalidate;
14
14
  }
@@ -28,7 +28,12 @@ class StaleWhileRevalidateAsyncDiskCache {
28
28
  return [extra_memoize_1.State.Miss];
29
29
  }
30
30
  else {
31
- return [extra_memoize_1.State.Hit, this.fromBuffer(value)];
31
+ if (yield this.isStaleWhileRevalidate(key)) {
32
+ return [extra_memoize_1.State.StaleWhileRevalidate, this.fromBuffer(value)];
33
+ }
34
+ else {
35
+ return [extra_memoize_1.State.Hit, this.fromBuffer(value)];
36
+ }
32
37
  }
33
38
  });
34
39
  }
@@ -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,iDAAsE;AAEtE,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,kCAAkC;IAC7C,YACU,KAAgB,EAChB,UAAkB,EAClB,oBAA4B,EAC5B,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAJrD,UAAK,GAAL,KAAK,CAAW;QAChB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,aAAQ,GAAR,QAAQ,CAAwC;QAChD,eAAU,GAAV,UAAU,CAA2C;IAC5D,CAAC;IAEE,GAAG,CAAC,GAAW;;YACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC3C,IAAI,IAAA,qBAAW,EAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;aAC3C;QACH,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW,EAAE,KAAQ;;YAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,oBAAoB,CAC1B,CAAA;QACH,CAAC;KAAA;IAEK,sBAAsB,CAAC,GAAW;;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,IAAA,qBAAW,EAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAA;YAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAA;YAC/C,OAAO,OAAO,GAAG,IAAI,CAAC,UAAU;mBACzB,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;QAC9D,CAAC;KAAA;CACF;AApCD,gFAoCC"}
1
+ {"version":3,"file":"stale-while-revalidate-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-async-disk-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAsE;AAEtE,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,kCAAkC;IAC7C,YACU,KAAgB,EAChB,UAAkB,EAClB,oBAA4B,EAC5B,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAJrD,UAAK,GAAL,KAAK,CAAW;QAChB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,aAAQ,GAAR,QAAQ,CAAwC;QAChD,eAAU,GAAV,UAAU,CAA2C;IAC5D,CAAC;IAEE,GAAG,CAAC,GAAW;;YACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC3C,IAAI,IAAA,qBAAW,EAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;aACpB;iBAAM;gBACL,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE;oBAC1C,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;iBAC5D;qBAAM;oBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;iBAC3C;aACF;QACH,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW,EAAE,KAAQ;;YAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,oBAAoB,CAC1B,CAAA;QACH,CAAC;KAAA;IAEa,sBAAsB,CAAC,GAAW;;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,IAAA,qBAAW,EAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAA;YAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAA;YAC/C,OAAO,OAAO,GAAG,IAAI,CAAC,UAAU;mBACzB,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;QAC9D,CAAC;KAAA;CACF;AAxCD,gFAwCC"}
@@ -8,7 +8,7 @@ export declare class StaleWhileRevalidateAsyncDiskCache<T> implements IStaleWhil
8
8
  private toBuffer;
9
9
  private fromBuffer;
10
10
  constructor(cache: DiskCache, timeToLive: number, staleWhileRevalidate: number, toBuffer?: (value: T) => Buffer, fromBuffer?: (buffer: Buffer) => T);
11
- get(key: string): Promise<[State.Miss] | [State.Hit, T]>;
11
+ get(key: string): Promise<[State.Miss] | [State.Hit | State.StaleWhileRevalidate, T]>;
12
12
  set(key: string, value: T): Promise<void>;
13
- isStaleWhileRevalidate(key: string): Promise<boolean>;
13
+ private isStaleWhileRevalidate;
14
14
  }
@@ -18,7 +18,12 @@ class StaleWhileRevalidateAsyncDiskCache {
18
18
  return [extra_memoize_1.State.Miss];
19
19
  }
20
20
  else {
21
- return [extra_memoize_1.State.Hit, this.fromBuffer(value)];
21
+ if (await this.isStaleWhileRevalidate(key)) {
22
+ return [extra_memoize_1.State.StaleWhileRevalidate, this.fromBuffer(value)];
23
+ }
24
+ else {
25
+ return [extra_memoize_1.State.Hit, this.fromBuffer(value)];
26
+ }
22
27
  }
23
28
  }
24
29
  async set(key, value) {
@@ -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,iDAAsE;AAEtE,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,kCAAkC;IAC7C,YACU,KAAgB,EAChB,UAAkB,EAClB,oBAA4B,EAC5B,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAJrD,UAAK,GAAL,KAAK,CAAW;QAChB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,aAAQ,GAAR,QAAQ,CAAwC;QAChD,eAAU,GAAV,UAAU,CAA2C;IAC5D,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,IAAA,qBAAW,EAAC,KAAK,CAAC,EAAE;YACtB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;SAC3C;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,oBAAoB,CAC1B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAAW;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC5C,IAAI,IAAA,qBAAW,EAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAA;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAA;QAC/C,OAAO,OAAO,GAAG,IAAI,CAAC,UAAU;eACzB,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IAC9D,CAAC;CACF;AApCD,gFAoCC"}
1
+ {"version":3,"file":"stale-while-revalidate-async-disk-cache.js","sourceRoot":"","sources":["../../src/stale-while-revalidate-async-disk-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAsE;AAEtE,iDAAiD;AACjD,mCAA4D;AAE5D,MAAa,kCAAkC;IAC7C,YACU,KAAgB,EAChB,UAAkB,EAClB,oBAA4B,EAC5B,WAAiC,uBAAe,EAChD,aAAoC,yBAAiB;QAJrD,UAAK,GAAL,KAAK,CAAW;QAChB,eAAU,GAAV,UAAU,CAAQ;QAClB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,aAAQ,GAAR,QAAQ,CAAwC;QAChD,eAAU,GAAV,UAAU,CAA2C;IAC5D,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,IAAA,qBAAW,EAAC,KAAK,CAAC,EAAE;YACtB,OAAO,CAAC,qBAAK,CAAC,IAAI,CAAC,CAAA;SACpB;aAAM;YACL,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE;gBAC1C,OAAO,CAAC,qBAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;aAC5D;iBAAM;gBACL,OAAO,CAAC,qBAAK,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;aAC3C;SACF;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,oBAAoB,CAC1B,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAW;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC5C,IAAI,IAAA,qBAAW,EAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAA;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAA;QAC/C,OAAO,OAAO,GAAG,IAAI,CAAC,UAAU;eACzB,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAA;IAC9D,CAAC;CACF;AAxCD,gFAwCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@extra-memoize/extra-disk-cache",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
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.3.1",
39
- "@commitlint/cli": "^16.2.3",
40
- "@commitlint/config-conventional": "^16.2.1",
41
- "@types/jest": "^27.4.1",
42
- "@typescript-eslint/eslint-plugin": "^5.19.0",
43
- "@typescript-eslint/parser": "^5.19.0",
44
- "eslint": "^8.13.0",
45
- "extra-disk-cache": "^0.5.1",
46
- "extra-memoize": "^0.6.0",
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.29.0",
43
+ "@typescript-eslint/parser": "^5.29.0",
44
+ "eslint": "^8.18.0",
45
+ "extra-disk-cache": "^0.6.0",
46
+ "extra-memoize": "^0.7.0",
47
47
  "husky": "^4.3.8",
48
- "jest": "^27.5.1",
48
+ "jest": "^28.1.1",
49
49
  "npm-run-all": "^4.1.5",
50
50
  "return-style": "^1.0.0",
51
51
  "rimraf": "^3.0.2",
52
- "standard-version": "^9.3.2",
53
- "ts-jest": "^27.1.4",
52
+ "standard-version": "^9.5.0",
53
+ "ts-jest": "^28.0.5",
54
54
  "tscpaths": "^0.0.9",
55
55
  "tslib": "^2.3.1",
56
- "typescript": "^4.6.3"
56
+ "typescript": "^4.7.4"
57
57
  },
58
58
  "dependencies": {
59
- "@blackglory/prelude": "^0.1.1"
59
+ "@blackglory/prelude": "^0.1.2"
60
60
  },
61
61
  "peerDependencies": {
62
- "extra-disk-cache": "^0.5.0",
63
- "extra-memoize": "^0.6.0"
62
+ "extra-disk-cache": "^0.6.0",
63
+ "extra-memoize": "^0.6.0 || ^0.7.0"
64
64
  }
65
65
  }