extra-disk-store 0.1.2 → 0.1.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 +27 -0
- package/lib/converters/index.d.ts +1 -0
- package/lib/converters/index.js +1 -0
- package/lib/converters/index.js.map +1 -1
- package/lib/converters/prefix-key-converter.d.ts +15 -0
- package/lib/converters/prefix-key-converter.js +37 -0
- package/lib/converters/prefix-key-converter.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -139,3 +139,30 @@ class ZstandardValueConverter<T> implements IValueConverter<T>, IValueAsyncConve
|
|
|
139
139
|
, level: number
|
|
140
140
|
): Promise<ZstandardValueConverter<T>>
|
|
141
141
|
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### PrefixKeyConverter
|
|
145
|
+
```ts
|
|
146
|
+
class PrefixKeyConverter<T> implements IKeyConverter<T>, IKeyAsyncConverter<T> {
|
|
147
|
+
constructor(
|
|
148
|
+
keyConverter: IKeyConverter<T>
|
|
149
|
+
, prefix: string
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
toString(value: T): string
|
|
153
|
+
fromString(value: string): T
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
#### PrefixKeyAsyncConverter
|
|
158
|
+
```ts
|
|
159
|
+
class PrefixKeyAsyncConverter<T> implements IKeyAsyncConverter<T> {
|
|
160
|
+
constructor(
|
|
161
|
+
keyConverter: IKeyConverter<T> | IKeyAsyncConverter<T>
|
|
162
|
+
, prefix: string
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
toString(value: T): Promise<string>
|
|
166
|
+
fromString(value: string): Promise<T>
|
|
167
|
+
}
|
|
168
|
+
```
|
|
@@ -3,5 +3,6 @@ export * from './json-value-converter';
|
|
|
3
3
|
export * from './passthrough-key-converter';
|
|
4
4
|
export * from './passthrough-value-converter';
|
|
5
5
|
export * from './index-key-converter';
|
|
6
|
+
export * from './prefix-key-converter';
|
|
6
7
|
export * from './lz4-value-converter';
|
|
7
8
|
export * from './zstandard-value-converter';
|
package/lib/converters/index.js
CHANGED
|
@@ -19,6 +19,7 @@ __exportStar(require("./json-value-converter"), exports);
|
|
|
19
19
|
__exportStar(require("./passthrough-key-converter"), exports);
|
|
20
20
|
__exportStar(require("./passthrough-value-converter"), exports);
|
|
21
21
|
__exportStar(require("./index-key-converter"), exports);
|
|
22
|
+
__exportStar(require("./prefix-key-converter"), exports);
|
|
22
23
|
__exportStar(require("./lz4-value-converter"), exports);
|
|
23
24
|
__exportStar(require("./zstandard-value-converter"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC;AACpC,yDAAsC;AAEtC,8DAA2C;AAC3C,gEAA6C;AAE7C,wDAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC;AACpC,yDAAsC;AAEtC,8DAA2C;AAC3C,gEAA6C;AAE7C,wDAAqC;AACrC,yDAAsC;AAEtC,wDAAqC;AACrC,8DAA2C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IKeyConverter, IKeyAsyncConverter } from "../types";
|
|
2
|
+
export declare class PrefixKeyConverter<T> implements IKeyConverter<T>, IKeyAsyncConverter<T> {
|
|
3
|
+
private keyConverter;
|
|
4
|
+
private prefix;
|
|
5
|
+
constructor(keyConverter: IKeyConverter<T>, prefix: string);
|
|
6
|
+
toString(value: T): string;
|
|
7
|
+
fromString(value: string): T;
|
|
8
|
+
}
|
|
9
|
+
export declare class PrefixKeyAsyncConverter<T> implements IKeyAsyncConverter<T> {
|
|
10
|
+
private keyConverter;
|
|
11
|
+
private prefix;
|
|
12
|
+
constructor(keyConverter: IKeyConverter<T> | IKeyAsyncConverter<T>, prefix: string);
|
|
13
|
+
toString(value: T): Promise<string>;
|
|
14
|
+
fromString(value: string): Promise<T>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrefixKeyAsyncConverter = exports.PrefixKeyConverter = void 0;
|
|
4
|
+
const prelude_1 = require("@blackglory/prelude");
|
|
5
|
+
class PrefixKeyConverter {
|
|
6
|
+
constructor(keyConverter, prefix) {
|
|
7
|
+
this.keyConverter = keyConverter;
|
|
8
|
+
this.prefix = prefix;
|
|
9
|
+
}
|
|
10
|
+
toString(value) {
|
|
11
|
+
const key = this.keyConverter.toString(value);
|
|
12
|
+
return this.prefix + key;
|
|
13
|
+
}
|
|
14
|
+
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;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.PrefixKeyConverter = PrefixKeyConverter;
|
|
21
|
+
class PrefixKeyAsyncConverter {
|
|
22
|
+
constructor(keyConverter, prefix) {
|
|
23
|
+
this.keyConverter = keyConverter;
|
|
24
|
+
this.prefix = prefix;
|
|
25
|
+
}
|
|
26
|
+
async toString(value) {
|
|
27
|
+
const key = await this.keyConverter.toString(value);
|
|
28
|
+
return this.prefix + key;
|
|
29
|
+
}
|
|
30
|
+
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
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.PrefixKeyAsyncConverter = PrefixKeyAsyncConverter;
|
|
37
|
+
//# sourceMappingURL=prefix-key-converter.js.map
|
|
@@ -0,0 +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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "extra-disk-store",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"files": [
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@types/node": "14",
|
|
44
44
|
"@typescript-eslint/eslint-plugin": "^5.45.0",
|
|
45
45
|
"@typescript-eslint/parser": "^5.45.0",
|
|
46
|
-
"eslint": "^8.
|
|
46
|
+
"eslint": "^8.29.0",
|
|
47
47
|
"husky": "^4.3.0",
|
|
48
48
|
"jest": "^29.3.1",
|
|
49
49
|
"npm-run-all": "^4.1.5",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@blackglory/prelude": "^0.1.8",
|
|
60
60
|
"@blackglory/types": "^1.4.0",
|
|
61
61
|
"@bokuweb/zstd-wasm": "^0.0.17",
|
|
62
|
-
"better-sqlite3": "^8.0.
|
|
62
|
+
"better-sqlite3": "^8.0.1",
|
|
63
63
|
"extra-filesystem": "^0.4.8",
|
|
64
64
|
"extra-lazy": "^1.3.1",
|
|
65
65
|
"extra-promise": "^4.4.0",
|