keyv 4.5.1 → 4.5.3

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/README.md CHANGED
@@ -151,6 +151,8 @@ The following are third-party storage adapters compatible with Keyv:
151
151
  - [keyv-firestore ](https://github.com/goto-bus-stop/keyv-firestore) – Firebase Cloud Firestore adapter for Keyv
152
152
  - [keyv-mssql](https://github.com/pmorgan3/keyv-mssql) - Microsoft Sql Server adapter for Keyv
153
153
  - [keyv-azuretable](https://github.com/howlowck/keyv-azuretable) - Azure Table Storage/API adapter for Keyv
154
+ - [keyv-arango](https://github.com/TimMikeladze/keyv-arango) - ArangoDB storage adapter for Keyv
155
+ - [keyv-momento](https://github.com/momentohq/node-keyv-adaptor/) - Momento storage adapter for Keyv
154
156
 
155
157
  ## Add Cache Support to your Module
156
158
 
package/package.json CHANGED
@@ -1,18 +1,22 @@
1
1
  {
2
2
  "name": "keyv",
3
- "version": "4.5.1",
3
+ "version": "4.5.3",
4
4
  "description": "Simple key-value storage with support for multiple backends",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
7
- "test": "xo && nyc ava --serial",
8
- "coverage": "nyc report --reporter=text-lcov > coverage.lcov",
9
- "clean": "rm -rf node_modules && rm -rf .nyc_output && rm -rf coverage.lcov && rm -rf ./test/testdb.sqlite"
7
+ "build": "echo 'No build step required.'",
8
+ "prepare": "yarn build",
9
+ "test": "xo && c8 ava --serial",
10
+ "test:ci": "xo && ava --serial",
11
+ "clean": "rm -rf node_modules && rm -rf ./coverage && rm -rf ./test/testdb.sqlite"
10
12
  },
11
13
  "xo": {
12
14
  "rules": {
13
15
  "unicorn/prefer-module": 0,
14
16
  "unicorn/prefer-node-protocol": 0,
15
- "@typescript-eslint/consistent-type-definitions": 0
17
+ "@typescript-eslint/consistent-type-definitions": 0,
18
+ "unicorn/no-typeof-undefined": 0,
19
+ "unicorn/prefer-event-target": 0
16
20
  }
17
21
  },
18
22
  "repository": {
@@ -37,16 +41,11 @@
37
41
  },
38
42
  "devDependencies": {
39
43
  "@keyv/test-suite": "*",
40
- "ava": "^5.0.1",
41
- "eslint": "^8.26.0",
44
+ "eslint": "^8.42.0",
42
45
  "eslint-plugin-promise": "^6.1.1",
43
- "nyc": "^15.1.0",
44
- "pify": "5.0.0",
45
- "this": "^1.1.0",
46
+ "pify": "^5.0.0",
46
47
  "timekeeper": "^2.2.0",
47
- "tsd": "^0.24.1",
48
- "typescript": "^4.8.4",
49
- "xo": "^0.52.4"
48
+ "tsd": "^0.28.1"
50
49
  },
51
50
  "tsd": {
52
51
  "directory": "test"
package/src/index.d.ts CHANGED
@@ -27,18 +27,14 @@ declare class Keyv<Value = any, Options extends Record<string, any> = Record<str
27
27
  constructor(uri?: string, options?: Keyv.Options<Value> & Options);
28
28
 
29
29
  /** Returns the value. */
30
- get<Raw extends boolean = false>(key: string, options?: {raw?: Raw}):
31
- Promise<(Raw extends false
32
- ? Value
33
- : Keyv.DeserializedData<Value>) | undefined>;
30
+ get(key: string, options?: {raw?: false}): Promise<Value | undefined>;
31
+ /** Returns the raw value. */
32
+ get(key: string, options: {raw: true}): Promise<Keyv.DeserializedData<Value> | undefined>;
34
33
 
35
34
  /** Returns an array of values. Uses `store.getMany` if it exists, otherwise uses parallel calls to `store.get`. */
36
- get<Raw extends boolean = false>(
37
- key: string[],
38
- options?: {raw?: Raw}
39
- ): Promise<
40
- Array<(Raw extends false ? Value : Keyv.DeserializedData<Value>) | undefined>
41
- >;
35
+ get(key: string[], options?: {raw?: false}): Promise<Array<Value | undefined>>;
36
+ /** Returns an array of raw values. Uses `store.getMany` if it exists, otherwise uses parallel calls to `store.get`. */
37
+ get(key: string[], options: {raw: true}): Promise<Array<Keyv.DeserializedData<Value> | undefined>>;
42
38
 
43
39
  /**
44
40
  * Set a value.
@@ -89,10 +85,10 @@ declare namespace Keyv {
89
85
  }
90
86
 
91
87
  interface CompressionAdapter {
92
- async compress(value: any, options?: any);
93
- async decompress(value: any, options?: any);
94
- async serialize(value: any);
95
- async deserialize(value: any);
88
+ compress(value: any, options?: any): Promise<any>;
89
+ decompress(value: any, options?: any): Promise<any>;
90
+ serialize(value: any): Promise<any>;
91
+ deserialize(value: any): Promise<any>;
96
92
  }
97
93
 
98
94
  interface DeserializedData<Value> {
package/src/index.js CHANGED
@@ -66,7 +66,7 @@ class Keyv extends EventEmitter {
66
66
  for await (const [key, raw] of typeof iterator === 'function'
67
67
  ? iterator(this.opts.store.namespace)
68
68
  : iterator) {
69
- const data = this.opts.deserialize(raw);
69
+ const data = await this.opts.deserialize(raw);
70
70
  if (this.opts.store.namespace && !key.includes(this.opts.store.namespace)) {
71
71
  continue;
72
72
  }