extra-disk-store 0.3.0 → 0.3.2

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
@@ -38,8 +38,8 @@ class DiskStore {
38
38
  ### DiskStoreWithCache
39
39
  ```ts
40
40
  interface ICache {
41
- set(key: string, value: Buffer | boolean | undefined): void
42
- get(key: string): Buffer | boolean | undefined
41
+ set(key: string, value: Buffer | false): void
42
+ get(key: string): Buffer | false | undefined
43
43
  delete(key: string): void
44
44
  clear(): void
45
45
  }
@@ -24,22 +24,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.ZstandardValueConverter = void 0;
27
- const zstd = __importStar(require("@bokuweb/zstd-wasm"));
27
+ const zstd = __importStar(require("@mongodb-js/zstd"));
28
28
  class ZstandardValueConverter {
29
29
  constructor(valueConverter, level) {
30
30
  this.valueConverter = valueConverter;
31
31
  this.level = level;
32
32
  }
33
33
  static async create(valueConverter, level) {
34
- await zstd.init();
35
34
  return new ZstandardValueConverter(valueConverter, level);
36
35
  }
37
36
  async toBuffer(value) {
38
37
  const buffer = await this.valueConverter.toBuffer(value);
39
- return Buffer.from(zstd.compress(buffer, this.level));
38
+ return Buffer.from(await zstd.compress(buffer, this.level));
40
39
  }
41
40
  async fromBuffer(value) {
42
- const buffer = Buffer.from(zstd.decompress(value));
41
+ const buffer = Buffer.from(await zstd.decompress(value));
43
42
  return await this.valueConverter.fromBuffer(buffer);
44
43
  }
45
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zstandard-value-converter.js","sourceRoot":"","sources":["../../src/converters/zstandard-value-converter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAG1C,MAAa,uBAAuB;IAClC,YACU,cAAkC,EAClC,KAAa;QADb,mBAAc,GAAd,cAAc,CAAoB;QAClC,UAAK,GAAL,KAAK,CAAQ;IACpB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,cAAkC,EAClC,KAAa;QAEb,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,IAAI,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAQ;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC;CACF;AAvBD,0DAuBC"}
1
+ {"version":3,"file":"zstandard-value-converter.js","sourceRoot":"","sources":["../../src/converters/zstandard-value-converter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAwC;AAGxC,MAAa,uBAAuB;IAClC,YACU,cAAkC,EAClC,KAAa;QADb,mBAAc,GAAd,cAAc,CAAoB;QAClC,UAAK,GAAL,KAAK,CAAQ;IACpB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,cAAkC,EAClC,KAAa;QAEb,OAAO,IAAI,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAQ;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACxD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC;CACF;AAtBD,0DAsBC"}
@@ -1,15 +1,11 @@
1
1
  /// <reference types="node" />
2
2
  import { DiskStore } from './disk-store';
3
3
  export interface ICache {
4
- set(key: string, value: Buffer | boolean | undefined): void;
5
- get(key: string): Buffer | boolean | undefined;
4
+ set(key: string, value: Buffer | false): void;
5
+ get(key: string): Buffer | false | undefined;
6
6
  delete(key: string): void;
7
7
  clear(): void;
8
8
  }
9
- export declare enum CacheKeyType {
10
- Exist = 0,
11
- Value = 1
12
- }
13
9
  export declare class DiskStoreWithCache {
14
10
  private store;
15
11
  private cache;
@@ -22,4 +18,3 @@ export declare class DiskStoreWithCache {
22
18
  clear(): Promise<void>;
23
19
  keys(): IterableIterator<string>;
24
20
  }
25
- export declare function createCacheKey(type: CacheKeyType, key: string): string;
@@ -1,12 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCacheKey = exports.DiskStoreWithCache = exports.CacheKeyType = void 0;
3
+ exports.DiskStoreWithCache = void 0;
4
4
  const prelude_1 = require("@blackglory/prelude");
5
- var CacheKeyType;
6
- (function (CacheKeyType) {
7
- CacheKeyType[CacheKeyType["Exist"] = 0] = "Exist";
8
- CacheKeyType[CacheKeyType["Value"] = 1] = "Value";
9
- })(CacheKeyType = exports.CacheKeyType || (exports.CacheKeyType = {}));
10
5
  class DiskStoreWithCache {
11
6
  constructor(store, cache) {
12
7
  this.store = store;
@@ -16,38 +11,52 @@ class DiskStoreWithCache {
16
11
  await this.store.close();
17
12
  }
18
13
  has(key) {
19
- const cacheKey = createCacheKey(CacheKeyType.Exist, key);
20
- const result = this.cache.get(cacheKey);
21
- if ((0, prelude_1.isBoolean)(result)) {
14
+ const result = this.cache.get(key);
15
+ if (result === false) {
22
16
  return result;
23
17
  }
18
+ else if ((0, prelude_1.isntUndefined)(result)) {
19
+ return true;
20
+ }
24
21
  else {
25
- const result = this.store.has(key);
26
- this.cache.set(cacheKey, result);
27
- return result;
22
+ const result = this.store.get(key);
23
+ if (result) {
24
+ this.cache.set(key, result);
25
+ return true;
26
+ }
27
+ else {
28
+ this.cache.set(key, false);
29
+ return false;
30
+ }
28
31
  }
29
32
  }
30
33
  get(key) {
31
- const cacheKey = createCacheKey(CacheKeyType.Value, key);
32
- const result = this.cache.get(cacheKey);
33
- if (result instanceof Buffer) {
34
+ const result = this.cache.get(key);
35
+ if (result === false) {
36
+ return undefined;
37
+ }
38
+ else if ((0, prelude_1.isntUndefined)(result)) {
34
39
  return result;
35
40
  }
36
41
  else {
37
42
  const result = this.store.get(key);
38
- this.cache.set(cacheKey, result);
39
- return result;
43
+ if (result) {
44
+ this.cache.set(key, result);
45
+ return result;
46
+ }
47
+ else {
48
+ this.cache.set(key, false);
49
+ return result;
50
+ }
40
51
  }
41
52
  }
42
53
  async set(key, value) {
43
- var _a;
44
54
  await this.store.set(key, value);
45
- (_a = this.cache) === null || _a === void 0 ? void 0 : _a.delete(createCacheKey(CacheKeyType.Value, key));
55
+ this.cache.delete(key);
46
56
  }
47
57
  async delete(key) {
48
58
  await this.store.delete(key);
49
- this.cache.delete(createCacheKey(CacheKeyType.Exist, key));
50
- this.cache.delete(createCacheKey(CacheKeyType.Value, key));
59
+ this.cache.delete(key);
51
60
  }
52
61
  async clear() {
53
62
  await this.store.clear();
@@ -58,8 +67,4 @@ class DiskStoreWithCache {
58
67
  }
59
68
  }
60
69
  exports.DiskStoreWithCache = DiskStoreWithCache;
61
- function createCacheKey(type, key) {
62
- return JSON.stringify([type, key]);
63
- }
64
- exports.createCacheKey = createCacheKey;
65
70
  //# sourceMappingURL=disk-store-with-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"disk-store-with-cache.js","sourceRoot":"","sources":["../src/disk-store-with-cache.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAU/C,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iDAAK,CAAA;IACL,iDAAK,CAAA;AACP,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED,MAAa,kBAAkB;IAC7B,YACU,KAAgB,EAChB,KAAa;QADb,UAAK,GAAL,KAAK,CAAW;QAChB,UAAK,GAAL,KAAK,CAAQ;IACpB,CAAC;IAEJ,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,IAAA,mBAAS,EAAC,MAAM,CAAC,EAAE;YACrB,OAAO,MAAM,CAAA;SACd;aAAM;YACL,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAChC,OAAO,MAAM,CAAA;SACd;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,MAAM,YAAY,MAAM,EAAE;YAC5B,OAAO,MAAM,CAAA;SACd;aAAM;YACL,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAChC,OAAO,MAAM,CAAA;SACd;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAEhC,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAE5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QAC1D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAExB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAxDD,gDAwDC;AAED,SAAgB,cAAc,CAAC,IAAkB,EAAE,GAAW;IAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;AACpC,CAAC;AAFD,wCAEC"}
1
+ {"version":3,"file":"disk-store-with-cache.js","sourceRoot":"","sources":["../src/disk-store-with-cache.ts"],"names":[],"mappings":";;;AAAA,iDAAmD;AAUnD,MAAa,kBAAkB;IAC7B,YACU,KAAgB,EAChB,KAAa;QADb,UAAK,GAAL,KAAK,CAAW;QAChB,UAAK,GAAL,KAAK,CAAQ;IACpB,CAAC;IAEJ,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,MAAM,KAAK,KAAK,EAAE;YACpB,OAAO,MAAM,CAAA;SACd;aAAM,IAAI,IAAA,uBAAa,EAAC,MAAM,CAAC,EAAE;YAChC,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;gBAC3B,OAAO,IAAI,CAAA;aACZ;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC1B,OAAO,KAAK,CAAA;aACb;SACF;IACH,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,MAAM,KAAK,KAAK,EAAE;YACpB,OAAO,SAAS,CAAA;SACjB;aAAM,IAAI,IAAA,uBAAa,EAAC,MAAM,CAAC,EAAE;YAChC,OAAO,MAAM,CAAA;SACd;aAAM;YACL,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;gBAC3B,OAAO,MAAM,CAAA;aACd;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC1B,OAAO,MAAM,CAAA;aACd;SACF;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAEhC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAE5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAExB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAnED,gDAmEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-disk-store",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "files": [
@@ -36,7 +36,6 @@
36
36
  }
37
37
  },
38
38
  "devDependencies": {
39
- "@blackglory/jest-matchers": "^0.5.0",
40
39
  "@blackglory/structures": "^0.11.5",
41
40
  "@commitlint/cli": "^17.3.0",
42
41
  "@commitlint/config-conventional": "^17.3.0",
@@ -60,7 +59,7 @@
60
59
  },
61
60
  "dependencies": {
62
61
  "@blackglory/prelude": "^0.1.8",
63
- "@bokuweb/zstd-wasm": "^0.0.17",
62
+ "@mongodb-js/zstd": "^1.0.0",
64
63
  "extra-benchmark": "^0.2.2",
65
64
  "extra-filesystem": "^0.4.8",
66
65
  "extra-promise": "^4.4.0",