extra-disk-store 0.1.3 → 0.1.4

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
@@ -42,7 +42,7 @@ class DiskStore {
42
42
  ```ts
43
43
  interface IKeyConverter<T> {
44
44
  toString: (value: T) => string
45
- fromString: (value: string) => T
45
+ fromString: (value: string) => T | undefined
46
46
  }
47
47
 
48
48
  interface IValueConverter<T> {
@@ -70,7 +70,7 @@ class DiskStoreView<K, V> {
70
70
  ```ts
71
71
  interface IKeyAsyncConverter<T> {
72
72
  toString: (value: T) => Awaitable<string>
73
- fromString: (value: string) => Awaitable<T>
73
+ fromString: (value: string) => Awaitable<T | undefined>
74
74
  }
75
75
 
76
76
  interface IValueAsyncConverter<T> {
@@ -4,12 +4,12 @@ export declare class PrefixKeyConverter<T> implements IKeyConverter<T>, IKeyAsyn
4
4
  private prefix;
5
5
  constructor(keyConverter: IKeyConverter<T>, prefix: string);
6
6
  toString(value: T): string;
7
- fromString(value: string): T;
7
+ fromString(value: string): T | undefined;
8
8
  }
9
9
  export declare class PrefixKeyAsyncConverter<T> implements IKeyAsyncConverter<T> {
10
10
  private keyConverter;
11
11
  private prefix;
12
12
  constructor(keyConverter: IKeyConverter<T> | IKeyAsyncConverter<T>, prefix: string);
13
13
  toString(value: T): Promise<string>;
14
- fromString(value: string): Promise<T>;
14
+ fromString(value: string): Promise<T | undefined>;
15
15
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PrefixKeyAsyncConverter = exports.PrefixKeyConverter = void 0;
4
- const prelude_1 = require("@blackglory/prelude");
5
4
  class PrefixKeyConverter {
6
5
  constructor(keyConverter, prefix) {
7
6
  this.keyConverter = keyConverter;
@@ -12,9 +11,13 @@ class PrefixKeyConverter {
12
11
  return this.prefix + key;
13
12
  }
14
13
  fromString(value) {
15
- (0, prelude_1.assert)(value.startsWith(this.prefix), 'The key does not start with prefix');
16
- const key = this.keyConverter.fromString(value.slice(this.prefix.length));
17
- return key;
14
+ if (value.startsWith(this.prefix)) {
15
+ const key = this.keyConverter.fromString(value.slice(this.prefix.length));
16
+ return key;
17
+ }
18
+ else {
19
+ return undefined;
20
+ }
18
21
  }
19
22
  }
20
23
  exports.PrefixKeyConverter = PrefixKeyConverter;
@@ -28,9 +31,13 @@ class PrefixKeyAsyncConverter {
28
31
  return this.prefix + key;
29
32
  }
30
33
  async fromString(value) {
31
- (0, prelude_1.assert)(value.startsWith(this.prefix), 'The key does not start with prefix');
32
- const key = await this.keyConverter.fromString(value.slice(this.prefix.length));
33
- return key;
34
+ if (value.startsWith(this.prefix)) {
35
+ const key = await this.keyConverter.fromString(value.slice(this.prefix.length));
36
+ return key;
37
+ }
38
+ else {
39
+ return undefined;
40
+ }
34
41
  }
35
42
  }
36
43
  exports.PrefixKeyAsyncConverter = PrefixKeyAsyncConverter;
@@ -1 +1 @@
1
- {"version":3,"file":"prefix-key-converter.js","sourceRoot":"","sources":["../../src/converters/prefix-key-converter.ts"],"names":[],"mappings":";;;AACA,iDAA4C;AAE5C,MAAa,kBAAkB;IAC7B,YACU,YAA8B,EAC9B,MAAc;QADd,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,QAAQ,CAAC,KAAQ;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;IAC1B,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,IAAA,gBAAM,EAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,oCAAoC,CAAC,CAAA;QAE3E,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACzE,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAjBD,gDAiBC;AAED,MAAa,uBAAuB;IAClC,YACU,YAAsD,EACtD,MAAc;QADd,iBAAY,GAAZ,YAAY,CAA0C;QACtD,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,KAAQ;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,IAAA,gBAAM,EAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,oCAAoC,CAAC,CAAA;QAE3E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/E,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAjBD,0DAiBC"}
1
+ {"version":3,"file":"prefix-key-converter.js","sourceRoot":"","sources":["../../src/converters/prefix-key-converter.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAC7B,YACU,YAA8B,EAC9B,MAAc;QADd,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,QAAQ,CAAC,KAAQ;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;IAC1B,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;YACzE,OAAO,GAAG,CAAA;SACX;aAAM;YACL,OAAO,SAAS,CAAA;SACjB;IACH,CAAC;CACF;AAnBD,gDAmBC;AAED,MAAa,uBAAuB;IAClC,YACU,YAAsD,EACtD,MAAc;QADd,iBAAY,GAAZ,YAAY,CAA0C;QACtD,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,KAAQ;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/E,OAAO,GAAG,CAAA;SACX;aAAM;YACL,OAAO,SAAS,CAAA;SACjB;IACH,CAAC;CACF;AAnBD,0DAmBC"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DiskStoreAsyncView = void 0;
4
+ const extra_utils_1 = require("extra-utils");
4
5
  const iterable_operator_1 = require("iterable-operator");
6
+ const prelude_1 = require("@blackglory/prelude");
5
7
  class DiskStoreAsyncView {
6
8
  constructor(store, keyConverter, valueConverter) {
7
9
  this.store = store;
@@ -30,7 +32,7 @@ class DiskStoreAsyncView {
30
32
  this.store.clear();
31
33
  }
32
34
  keys() {
33
- return (0, iterable_operator_1.mapAsync)(this.store.keys(), key => this.keyConverter.fromString(key));
35
+ return (0, extra_utils_1.pipe)(this.store.keys(), iter => (0, iterable_operator_1.mapAsync)(iter, key => this.keyConverter.fromString(key)), iter => (0, iterable_operator_1.filterAsync)(iter, prelude_1.isntUndefined));
34
36
  }
35
37
  }
36
38
  exports.DiskStoreAsyncView = DiskStoreAsyncView;
@@ -1 +1 @@
1
- {"version":3,"file":"disk-store-async-view.js","sourceRoot":"","sources":["../src/disk-store-async-view.ts"],"names":[],"mappings":";;;AACA,yDAA4C;AAG5C,MAAa,kBAAkB;IAC7B,YACU,KAAgB,EAChB,YAAmC,EACnC,cAAuC;QAFvC,UAAK,GAAL,KAAK,CAAW;QAChB,iBAAY,GAAZ,YAAY,CAAuB;QACnC,mBAAc,GAAd,cAAc,CAAyB;IAC9C,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAM;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAM;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAEpE,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SACpD;aAAM;YACL,OAAO,SAAS,CAAA;SACjB;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAM,EAAE,KAAQ;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1C,CAAA;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAM;QACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,IAAI;QACF,OAAO,IAAA,4BAAQ,EACb,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EACjB,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CACzC,CAAA;IACH,CAAC;CACF;AA1CD,gDA0CC"}
1
+ {"version":3,"file":"disk-store-async-view.js","sourceRoot":"","sources":["../src/disk-store-async-view.ts"],"names":[],"mappings":";;;AAEA,6CAAkC;AAClC,yDAAyD;AACzD,iDAAmD;AAEnD,MAAa,kBAAkB;IAC7B,YACU,KAAgB,EAChB,YAAmC,EACnC,cAAuC;QAFvC,UAAK,GAAL,KAAK,CAAW;QAChB,iBAAY,GAAZ,YAAY,CAAuB;QACnC,mBAAc,GAAd,cAAc,CAAyB;IAC9C,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAM;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAM;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAEpE,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SACpD;aAAM;YACL,OAAO,SAAS,CAAA;SACjB;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAM,EAAE,KAAQ;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1C,CAAA;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAM;QACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,IAAI;QACF,OAAO,IAAA,kBAAI,EACT,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EACjB,IAAI,CAAC,EAAE,CAAC,IAAA,4BAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAChE,IAAI,CAAC,EAAE,CAAC,IAAA,+BAAW,EAAC,IAAI,EAAE,uBAAa,CAAC,CACzC,CAAA;IACH,CAAC;CACF;AA3CD,gDA2CC"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DiskStoreView = void 0;
4
+ const extra_utils_1 = require("extra-utils");
4
5
  const iterable_operator_1 = require("iterable-operator");
6
+ const prelude_1 = require("@blackglory/prelude");
5
7
  class DiskStoreView {
6
8
  constructor(store, keyConverter, valueConverter) {
7
9
  this.store = store;
@@ -30,7 +32,7 @@ class DiskStoreView {
30
32
  this.store.clear();
31
33
  }
32
34
  keys() {
33
- return (0, iterable_operator_1.map)(this.store.keys(), key => this.keyConverter.fromString(key));
35
+ return (0, extra_utils_1.pipe)(this.store.keys(), iter => (0, iterable_operator_1.map)(iter, key => this.keyConverter.fromString(key)), iter => (0, iterable_operator_1.filter)(iter, prelude_1.isntUndefined));
34
36
  }
35
37
  }
36
38
  exports.DiskStoreView = DiskStoreView;
@@ -1 +1 @@
1
- {"version":3,"file":"disk-store-view.js","sourceRoot":"","sources":["../src/disk-store-view.ts"],"names":[],"mappings":";;;AACA,yDAAuC;AAGvC,MAAa,aAAa;IACxB,YACU,KAAgB,EAChB,YAA8B,EAC9B,cAAkC;QAFlC,UAAK,GAAL,KAAK,CAAW;QAChB,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,mBAAc,GAAd,cAAc,CAAoB;IACzC,CAAC;IAEJ,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,GAAG,CAAC,GAAM;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAE9D,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SAC9C;aAAM;YACL,OAAO,SAAS,CAAA;SACjB;IACH,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAM;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,IAAI;QACF,OAAO,IAAA,uBAAG,EACR,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EACjB,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CACzC,CAAA;IACH,CAAC;CACF;AA1CD,sCA0CC"}
1
+ {"version":3,"file":"disk-store-view.js","sourceRoot":"","sources":["../src/disk-store-view.ts"],"names":[],"mappings":";;;AAEA,6CAAkC;AAClC,yDAA+C;AAC/C,iDAAmD;AAEnD,MAAa,aAAa;IACxB,YACU,KAAgB,EAChB,YAA8B,EAC9B,cAAkC;QAFlC,UAAK,GAAL,KAAK,CAAW;QAChB,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,mBAAc,GAAd,cAAc,CAAoB;IACzC,CAAC;IAEJ,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,GAAG,CAAC,GAAM;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAE9D,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SAC9C;aAAM;YACL,OAAO,SAAS,CAAA;SACjB;IACH,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAM;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,IAAI;QACF,OAAO,IAAA,kBAAI,EACT,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EACjB,IAAI,CAAC,EAAE,CAAC,IAAA,uBAAG,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC3D,IAAI,CAAC,EAAE,CAAC,IAAA,0BAAM,EAAC,IAAI,EAAE,uBAAa,CAAC,CACpC,CAAA;IACH,CAAC;CACF;AA3CD,sCA2CC"}
package/lib/types.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  import { Awaitable } from '@blackglory/prelude';
3
3
  export interface IKeyConverter<T> {
4
4
  toString: (value: T) => string;
5
- fromString: (value: string) => T;
5
+ fromString: (value: string) => T | undefined;
6
6
  }
7
7
  export interface IValueConverter<T> {
8
8
  toBuffer: (value: T) => Buffer;
@@ -10,7 +10,7 @@ export interface IValueConverter<T> {
10
10
  }
11
11
  export interface IKeyAsyncConverter<T> {
12
12
  toString: (value: T) => Awaitable<string>;
13
- fromString: (value: string) => Awaitable<T>;
13
+ fromString: (value: string) => Awaitable<T | undefined>;
14
14
  }
15
15
  export interface IValueAsyncConverter<T> {
16
16
  toBuffer: (value: T) => Awaitable<Buffer>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-disk-store",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "files": [
@@ -64,6 +64,7 @@
64
64
  "extra-lazy": "^1.3.1",
65
65
  "extra-promise": "^4.4.0",
66
66
  "extra-timers": "^0.2.5",
67
+ "extra-utils": "^3.5.1",
67
68
  "iterable-operator": "^2.5.0",
68
69
  "lz4-wasm-nodejs": "^0.9.2",
69
70
  "migration-files": "^0.4.0"