@blackglory/cache-js 0.5.0 → 0.6.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.
package/lib/cache.d.ts CHANGED
@@ -20,6 +20,10 @@ export declare class CacheClient {
20
20
  close(): Promise<void>;
21
21
  has(namespace: string, key: string, timeout?: number): Promise<boolean>;
22
22
  get(namespace: string, key: string, timeout?: number): Promise<string | null>;
23
+ getWithMetadata(namespace: string, key: string, timeout?: number): Promise<{
24
+ value: string;
25
+ metadata: IMetadata;
26
+ } | null>;
23
27
  bulkGet(namespace: string, keys: string[], timeout?: number): Promise<Array<string | null>>;
24
28
  set(namespace: string, key: string, value: string, timeToLive: number | null, timeout?: number): Promise<void>;
25
29
  del(namespace: string, key: string, timeout?: number): Promise<void>;
package/lib/cache.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CacheClient = void 0;
4
4
  const rpc_client_1 = require("./utils/rpc-client");
5
5
  const extra_abort_1 = require("extra-abort");
6
+ const prelude_1 = require("@blackglory/prelude");
6
7
  class CacheClient {
7
8
  constructor(client, batchClient, batchProxy, closeClients, timeout) {
8
9
  this.client = client;
@@ -24,6 +25,20 @@ class CacheClient {
24
25
  async get(namespace, key, timeout) {
25
26
  return await this.withTimeout(() => this.client.get(namespace, key), timeout !== null && timeout !== void 0 ? timeout : this.timeout);
26
27
  }
28
+ async getWithMetadata(namespace, key, timeout) {
29
+ return await this.withTimeout(async () => {
30
+ const result = await this.client.getWithMetadata(namespace, key);
31
+ if ((0, prelude_1.isNull)(result))
32
+ return null;
33
+ return {
34
+ value: result.value,
35
+ metadata: {
36
+ updatedAt: result.metadata.updatedAt,
37
+ timeToLive: result.metadata.timeToLive
38
+ }
39
+ };
40
+ }, timeout !== null && timeout !== void 0 ? timeout : this.timeout);
41
+ }
27
42
  async bulkGet(namespace, keys, timeout) {
28
43
  return await this.withTimeout(async () => {
29
44
  const results = await this.batchClient.parallel(...keys.map(key => this.batchProxy.get(namespace, key)));
package/lib/cache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AAGnD,6CAA4D;AAc5D,MAAa,WAAW;IACtB,YACU,MAAyB,EACzB,WAAwB,EACxB,UAA2C,EAC3C,YAAiC,EACjC,OAAgB;QAJhB,WAAM,GAAN,MAAM,CAAmB;QACzB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAiC;QAC3C,iBAAY,GAAZ,YAAY,CAAqB;QACjC,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAA4B;QAC9C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,4BAAe,EACjE,OAAO,CAAC,MAAM,CACf,CAAA;QACD,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,OAAgB;QACxD,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EACrC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,OAAgB;QACxD,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EACrC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,SAAiB,EACjB,IAAc,EACd,OAAgB;QAEhB,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,KAAK,IAAI,EAAE;YACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC7C,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CACxD,CAAA;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAC/C,CAAC,EACD,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,GAAW,EACX,KAAa,EACb,UAAyB,EACzB,OAAgB;QAEhB,MAAM,IAAI,CAAC,WAAW,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACnB,SAAS,EACT,GAAG,EACH,KAAK,EACL,UAAU,CACX,EACD,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,OAAgB;QACxD,MAAM,IAAI,CAAC,WAAW,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EACrC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,OAAgB;QAC7C,MAAM,IAAI,CAAC,WAAW,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAClC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,OAAgB;QACtD,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAC3C,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QACrC,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EACpC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,OAAgB;QAC7C,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAClC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,OAAO,CACxB,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,EAAwB,EACxB,UAA8B,IAAI,CAAC,OAAO;QAE1C,IAAI,OAAO,EAAE;YACX,OAAO,MAAM,IAAA,6BAAe,EAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;SACzD;aAAM;YACL,OAAO,MAAM,EAAE,EAAE,CAAA;SAClB;IACH,CAAC;CACF;AAjHD,kCAiHC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
package/lib/contract.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  export interface IAPI {
2
2
  has(namespace: string, key: string): Promise<boolean>;
3
3
  get(namespace: string, key: string): Promise<string | null>;
4
+ getWithMetadata(namespace: string, key: string): Promise<{
5
+ value: string;
6
+ metadata: IMetadata;
7
+ } | null>;
4
8
  set(namespace: string, key: string, value: string, timeToLive: number | null): Promise<null>;
5
9
  del(namespace: string, key: string): Promise<null>;
6
10
  clear(namespace: string): Promise<null>;
@@ -16,4 +20,4 @@ export interface IMetadata {
16
20
  updatedAt: number;
17
21
  timeToLive: number | null;
18
22
  }
19
- export declare const expectedVersion = "0.4.0";
23
+ export declare const expectedVersion = "0.5.0";
package/lib/contract.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.expectedVersion = void 0;
4
- exports.expectedVersion = '0.4.0';
4
+ exports.expectedVersion = '0.5.0';
5
5
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":";;;AA2Ba,QAAA,eAAe,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":";;;AA+Ba,QAAA,eAAe,GAAG,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackglory/cache-js",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "files": [
@@ -15,6 +15,9 @@
15
15
  "author": "BlackGlory <woshenmedoubuzhidao@blackglory.me>",
16
16
  "license": "MIT",
17
17
  "sideEffects": false,
18
+ "engines": {
19
+ "node": ">=16"
20
+ },
18
21
  "scripts": {
19
22
  "prepare": "ts-patch install -s",
20
23
  "lint": "eslint --ext .js,.jsx,.ts,.tsx --quiet src __tests__",
@@ -38,33 +41,33 @@
38
41
  }
39
42
  },
40
43
  "devDependencies": {
41
- "@commitlint/cli": "^17.0.3",
42
- "@commitlint/config-conventional": "^17.0.3",
43
- "@types/jest": "^28.1.6",
44
+ "@commitlint/cli": "^17.3.0",
45
+ "@commitlint/config-conventional": "^17.3.0",
46
+ "@types/jest": "^29.2.4",
44
47
  "@types/ws": "^8.5.3",
45
- "@typescript-eslint/eslint-plugin": "^5.31.0",
46
- "@typescript-eslint/parser": "^5.31.0",
47
- "eslint": "^8.20.0",
48
+ "@typescript-eslint/eslint-plugin": "^5.46.0",
49
+ "@typescript-eslint/parser": "^5.46.0",
50
+ "eslint": "^8.29.0",
48
51
  "husky": "4",
49
- "jest": "^28.1.3",
50
- "msw": "^0.42.1",
52
+ "jest": "^29.3.1",
53
+ "msw": "^0.49.1",
51
54
  "npm-run-all": "^4.1.5",
52
55
  "rimraf": "^3.0.2",
53
56
  "standard-version": "^9.5.0",
54
- "ts-jest": "^28.0.7",
55
- "ts-patch": "^2.0.1",
57
+ "ts-jest": "^29.0.3",
58
+ "ts-patch": "^2.1.0",
56
59
  "tslib": "^2.4.0",
57
60
  "typescript": "^4.7.4",
58
- "typescript-transform-paths": "^3.3.1"
61
+ "typescript-transform-paths": "^3.4.4"
59
62
  },
60
63
  "dependencies": {
61
- "@blackglory/prelude": "^0.1.3",
64
+ "@blackglory/prelude": "^0.1.8",
62
65
  "@delight-rpc/extra-native-websocket": "^0.3.1",
63
66
  "@delight-rpc/extra-websocket": "^0.3.1",
64
- "delight-rpc": "^4.2.1",
65
- "extra-abort": "^0.1.2",
67
+ "delight-rpc": "^4.3.2",
68
+ "extra-abort": "^0.2.0",
66
69
  "extra-native-websocket": "^0.3.1",
67
70
  "extra-websocket": "^0.3.0",
68
- "ws": "^8.8.1"
71
+ "ws": "^8.11.0"
69
72
  }
70
73
  }