unikvs 0.0.9 → 0.0.12
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 +3 -0
- package/dist/src/_logger.d.ts.map +1 -1
- package/dist/src/_merge-variables.d.ts +13 -0
- package/dist/src/_merge-variables.d.ts.map +1 -0
- package/dist/src/_merge-variables.js +12 -0
- package/dist/src/_storage.d.ts +11 -11
- package/dist/src/_storage.d.ts.map +1 -1
- package/dist/src/_storage.js +31 -22
- package/dist/src/_streams.d.ts +20 -0
- package/dist/src/_streams.d.ts.map +1 -0
- package/dist/src/_streams.js +36 -0
- package/dist/src/_to-value-stream.d.ts.map +1 -1
- package/dist/src/_to-value-stream.js +44 -6
- package/dist/src/_transformer.d.ts +7 -7
- package/dist/src/_transformer.d.ts.map +1 -1
- package/dist/src/_transformer.js +12 -12
- package/dist/src/_valibot.d.ts +6 -7
- package/dist/src/_valibot.d.ts.map +1 -1
- package/dist/src/_valibot.js +1 -1
- package/dist/src/_value-schemas.d.ts +179 -0
- package/dist/src/_value-schemas.d.ts.map +1 -0
- package/dist/src/_value-schemas.js +150 -0
- package/dist/src/errors.d.ts +218 -27
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +102 -47
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/unikvs-config.d.ts +58 -139
- package/dist/src/unikvs-config.d.ts.map +1 -1
- package/dist/src/unikvs-config.js +41 -46
- package/dist/src/unikvs.d.ts +86 -161
- package/dist/src/unikvs.d.ts.map +1 -1
- package/dist/src/unikvs.js +374 -171
- package/dist/src/utils.types.d.ts +1 -3
- package/dist/src/utils.types.d.ts.map +1 -1
- package/dist/src/value-stream.types.d.ts +5 -6
- package/dist/src/value-stream.types.d.ts.map +1 -1
- package/dist/src/variables.types.d.ts +11 -0
- package/dist/src/variables.types.d.ts.map +1 -0
- package/package.json +26 -25
- package/src/_merge-variables.ts +19 -0
- package/src/_storage.ts +47 -24
- package/src/_streams.ts +47 -0
- package/src/_to-value-stream.ts +47 -8
- package/src/_transformer.ts +13 -13
- package/src/_valibot.ts +8 -6
- package/src/_value-schemas.ts +362 -0
- package/src/errors.ts +280 -68
- package/src/index.ts +2 -3
- package/src/unikvs-config.ts +142 -167
- package/src/unikvs.ts +523 -285
- package/src/utils.types.ts +1 -3
- package/src/value-stream.types.ts +5 -6
- package/src/variables.types.ts +13 -0
- package/dist/src/_merge-context.d.ts +0 -13
- package/dist/src/_merge-context.d.ts.map +0 -1
- package/dist/src/_merge-context.js +0 -12
- package/dist/src/context.types.d.ts +0 -17
- package/dist/src/context.types.d.ts.map +0 -1
- package/src/_merge-context.ts +0 -19
- package/src/context.types.ts +0 -19
- /package/dist/src/{context.types.js → variables.types.js} +0 -0
|
@@ -9,97 +9,92 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _UniKvsConfig_UniKvs,
|
|
12
|
+
var _UniKvsConfig_UniKvs, _UniKvsConfig_vars, _UniKvsConfig_destinations, _UniKvsConfig_transformers, _UniKvsConfig_valueSchemaResolver;
|
|
13
13
|
import UniKvsStorage from "./_storage.js";
|
|
14
14
|
import UniKvsTransformer from "./_transformer.js";
|
|
15
|
+
import * as v from "./_valibot.js";
|
|
16
|
+
import { UniKvsSchemaSchema, createValueSchemaResolver, } from "./_value-schemas.js";
|
|
15
17
|
import { MissingStorageError } from "./errors.js";
|
|
18
|
+
export { Value, PlainValue, StreamValue, } from "./_value-schemas.js";
|
|
19
|
+
const UniKvsConfigOptionsSchema = v.object({
|
|
20
|
+
/**
|
|
21
|
+
* キーと値のスキーマ定義です。
|
|
22
|
+
*/
|
|
23
|
+
schema: v.optional(UniKvsSchemaSchema),
|
|
24
|
+
});
|
|
25
|
+
const UniKvsConfigArgsSchema = v.tuple([v.optional(UniKvsConfigOptionsSchema)]);
|
|
16
26
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* ビルダーパターンを用いて、コンテキスト、トランスフォーマー、ストレージの順で設定を積み上げます。
|
|
27
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
20
28
|
*/
|
|
21
29
|
class UniKvsConfig {
|
|
22
30
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @param UniKvsConstructor UniKvs のクラスコンストラクターです。
|
|
31
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
26
32
|
*/
|
|
27
|
-
constructor(UniKvsConstructor) {
|
|
33
|
+
constructor(UniKvsConstructor, options) {
|
|
28
34
|
/**
|
|
29
35
|
* UniKvs のコンストラクターです。
|
|
30
36
|
*/
|
|
31
37
|
_UniKvsConfig_UniKvs.set(this, void 0);
|
|
32
38
|
/**
|
|
33
|
-
*
|
|
39
|
+
* アプリケーションの実行時情報を保持する変数オブジェクトです。
|
|
34
40
|
*/
|
|
35
|
-
|
|
41
|
+
_UniKvsConfig_vars.set(this, void 0);
|
|
36
42
|
/**
|
|
37
|
-
*
|
|
43
|
+
* データの永続化先となるストレージのリストです。各ストレージは登録時点のトランスフォーマー数を保持します。
|
|
38
44
|
*/
|
|
39
45
|
_UniKvsConfig_destinations.set(this, void 0);
|
|
40
46
|
/**
|
|
41
|
-
*
|
|
47
|
+
* データを変換するためのトランスフォーマーのリストです。登録順に保持します。
|
|
42
48
|
*/
|
|
43
49
|
_UniKvsConfig_transformers.set(this, void 0);
|
|
50
|
+
/**
|
|
51
|
+
* キーに対応する値のスキーマ情報を解決するリゾルバーです。スキーマ未設定時は null となります。
|
|
52
|
+
*/
|
|
53
|
+
_UniKvsConfig_valueSchemaResolver.set(this, void 0);
|
|
54
|
+
const [parsed = {}] = v.parseInput(UniKvsConfigArgsSchema, [options]);
|
|
44
55
|
__classPrivateFieldSet(this, _UniKvsConfig_UniKvs, UniKvsConstructor, "f");
|
|
45
|
-
__classPrivateFieldSet(this,
|
|
56
|
+
__classPrivateFieldSet(this, _UniKvsConfig_vars, {}, "f");
|
|
46
57
|
__classPrivateFieldSet(this, _UniKvsConfig_destinations, [], "f");
|
|
47
58
|
__classPrivateFieldSet(this, _UniKvsConfig_transformers, [], "f");
|
|
59
|
+
__classPrivateFieldSet(this, _UniKvsConfig_valueSchemaResolver, parsed.schema ? createValueSchemaResolver(parsed.schema) : null, "f");
|
|
48
60
|
}
|
|
49
61
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* @returns 作成された UniKvs インスタンスです。
|
|
53
|
-
* @throws ストレージが一つも登録されていない場合にエラーを投げます。
|
|
62
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
54
63
|
*/
|
|
55
64
|
create() {
|
|
56
|
-
|
|
57
|
-
const [
|
|
65
|
+
const transformers = __classPrivateFieldGet(this, _UniKvsConfig_transformers, "f").map((tf) => new UniKvsTransformer(tf));
|
|
66
|
+
const [first, ...rest] = __classPrivateFieldGet(this, _UniKvsConfig_destinations, "f").map(({ storage, transformerCount }) => ({
|
|
67
|
+
storage: new UniKvsStorage(storage),
|
|
68
|
+
transformers: transformers.slice(0, transformerCount),
|
|
69
|
+
}));
|
|
58
70
|
// ストレージが空の場合は UniKvs として機能できないため、例外を投げます。
|
|
59
|
-
if (!
|
|
71
|
+
if (!first) {
|
|
60
72
|
throw new MissingStorageError();
|
|
61
73
|
}
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
return new (__classPrivateFieldGet(this, _UniKvsConfig_UniKvs, "f"))(__classPrivateFieldGet(this, _UniKvsConfig_context, "f"), [dest, ...destinations], __classPrivateFieldGet(this, _UniKvsConfig_transformers, "f").map((tf) => new UniKvsTransformer(tf)));
|
|
74
|
+
// 変数の参照を切り離すために浅いコピーを作成して UniKvs を初期化します。
|
|
75
|
+
return new (__classPrivateFieldGet(this, _UniKvsConfig_UniKvs, "f"))(__classPrivateFieldGet(this, _UniKvsConfig_vars, "f"), [first, ...rest], transformers, __classPrivateFieldGet(this, _UniKvsConfig_valueSchemaResolver, "f"));
|
|
65
76
|
}
|
|
66
77
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* @param context 設定するコンテキストのソースデータです。
|
|
70
|
-
* @returns インスタンス自身を返します。
|
|
78
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
71
79
|
*/
|
|
72
|
-
|
|
73
|
-
__classPrivateFieldSet(this,
|
|
80
|
+
setVariables(vars) {
|
|
81
|
+
__classPrivateFieldSet(this, _UniKvsConfig_vars, Array.isArray(vars) ? Object.fromEntries(vars) : { ...vars }, "f");
|
|
74
82
|
return this;
|
|
75
83
|
}
|
|
76
84
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* @param storage 追加するストレージインスタンスです。
|
|
80
|
-
* @returns ファイナライザーとして自身を返します。
|
|
85
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
81
86
|
*/
|
|
82
87
|
appendStorage(storage) {
|
|
83
|
-
__classPrivateFieldGet(this, _UniKvsConfig_destinations, "f").push(storage);
|
|
88
|
+
__classPrivateFieldGet(this, _UniKvsConfig_destinations, "f").push({ storage, transformerCount: __classPrivateFieldGet(this, _UniKvsConfig_transformers, "f").length });
|
|
84
89
|
return this;
|
|
85
90
|
}
|
|
86
91
|
/**
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* ストレージが登録された後には追加できない制約があります。
|
|
90
|
-
*
|
|
91
|
-
* @param transformer 追加するトランスフォーマーインスタンスです。
|
|
92
|
-
* @returns ビルダーとして自身を返します。
|
|
93
|
-
* @throws すでにストレージが登録されている状態で呼び出された場合にエラーを投げます。
|
|
92
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
94
93
|
*/
|
|
95
94
|
appendTransformer(transformer) {
|
|
96
|
-
// パイプラインの順序を守るため、終端であるストレージが登録済みでないか確認します。
|
|
97
|
-
if (__classPrivateFieldGet(this, _UniKvsConfig_destinations, "f").length > 0) {
|
|
98
|
-
throw new TransformStreamDefaultController();
|
|
99
|
-
}
|
|
100
95
|
__classPrivateFieldGet(this, _UniKvsConfig_transformers, "f").push(transformer);
|
|
101
96
|
return this;
|
|
102
97
|
}
|
|
103
98
|
}
|
|
104
|
-
_UniKvsConfig_UniKvs = new WeakMap(),
|
|
99
|
+
_UniKvsConfig_UniKvs = new WeakMap(), _UniKvsConfig_vars = new WeakMap(), _UniKvsConfig_destinations = new WeakMap(), _UniKvsConfig_transformers = new WeakMap(), _UniKvsConfig_valueSchemaResolver = new WeakMap();
|
|
105
100
|
export default UniKvsConfig;
|
package/dist/src/unikvs.d.ts
CHANGED
|
@@ -1,29 +1,23 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Variables, IStorage } from "@unikvs/core";
|
|
2
2
|
import UniKvsStorage from "./_storage.js";
|
|
3
3
|
import UniKvsTransformer from "./_transformer.js";
|
|
4
4
|
import * as v from "./_valibot.js";
|
|
5
|
-
import type
|
|
6
|
-
import { type Value, type PlainValue, type StreamValue, type KeyValueMapping, type $InferPlainValueData, type IUniKvsConfigBuilder, type KeyofKeyValueMapping, type $InferStreamValueChunkData } from "./unikvs-config.js";
|
|
5
|
+
import { type Value, type PlainValue, type StreamValue, type UniKvsSchema, type KeyValueMapping, type UniKvsConfigOptions, type $InferPlainValueData, type IUniKvsConfigBuilder, type IValueSchemaResolver, type KeyofKeyValueMapping, type $InferKeyValueMapping, type $InferPlainValueInput, type $InferStreamValueChunkData } from "./unikvs-config.js";
|
|
7
6
|
import type { ValueOf } from "./utils.types.js";
|
|
8
7
|
import type { ValueStream } from "./value-stream.types.js";
|
|
8
|
+
import type { VariablesSource } from "./variables.types.js";
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @template TValue 値の型定義です。
|
|
10
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#value-types)
|
|
13
11
|
*/
|
|
14
|
-
export type SetValue<TValue extends Value> = $
|
|
12
|
+
export type SetValue<TValue extends Value> = $InferPlainValueInput<TValue> | (TValue extends StreamValue<any, infer TChunkInput> ? ReadableStream<TChunkInput> : never);
|
|
15
13
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* @template TKeyValueMapping キーと値のマッピング定義です。
|
|
14
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#value-types)
|
|
19
15
|
*/
|
|
20
16
|
export type KeyofKeyValueMappingHasPlainValue<TKeyValueMapping extends KeyValueMapping> = ValueOf<{
|
|
21
17
|
[TKey in KeyofKeyValueMapping<TKeyValueMapping>]: PlainValue extends TKeyValueMapping[TKey] ? TKey : never;
|
|
22
18
|
}>;
|
|
23
19
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* @template TKeyValueMapping キーと値のマッピング定義です。
|
|
20
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#value-types)
|
|
27
21
|
*/
|
|
28
22
|
export type KeyofKeyValueMappingHasStreamValue<TKeyValueMapping extends KeyValueMapping> = ValueOf<{
|
|
29
23
|
[TKey in KeyofKeyValueMapping<TKeyValueMapping>]: StreamValue extends TKeyValueMapping[TKey] ? TKey : never;
|
|
@@ -40,9 +34,9 @@ declare const OpenOptionsSchema: import("@tai-kun/valibot-extra-lab").ObjectSche
|
|
|
40
34
|
timeout(milliseconds: number): AbortSignal;
|
|
41
35
|
}, undefined>, undefined>;
|
|
42
36
|
/**
|
|
43
|
-
*
|
|
37
|
+
* 実行時の変数です。
|
|
44
38
|
*/
|
|
45
|
-
readonly
|
|
39
|
+
readonly vars: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("@tai-kun/valibot-extra-lab").ArraySchema<import("@tai-kun/valibot-extra-lab").TupleSchema<[import("valibot").StringSchema<undefined>, import("valibot").UnknownSchema], undefined>, undefined>, import("@tai-kun/valibot-extra-lab").RecordSchema<import("valibot").AnySchema, import("valibot").UnknownSchema, undefined>], undefined>, undefined>;
|
|
46
40
|
}, undefined>;
|
|
47
41
|
declare const CloseOptionsSchema: import("@tai-kun/valibot-extra-lab").ObjectSchema<{
|
|
48
42
|
/**
|
|
@@ -56,9 +50,9 @@ declare const CloseOptionsSchema: import("@tai-kun/valibot-extra-lab").ObjectSch
|
|
|
56
50
|
timeout(milliseconds: number): AbortSignal;
|
|
57
51
|
}, undefined>, undefined>;
|
|
58
52
|
/**
|
|
59
|
-
*
|
|
53
|
+
* 実行時の変数です。
|
|
60
54
|
*/
|
|
61
|
-
readonly
|
|
55
|
+
readonly vars: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("@tai-kun/valibot-extra-lab").ArraySchema<import("@tai-kun/valibot-extra-lab").TupleSchema<[import("valibot").StringSchema<undefined>, import("valibot").UnknownSchema], undefined>, undefined>, import("@tai-kun/valibot-extra-lab").RecordSchema<import("valibot").AnySchema, import("valibot").UnknownSchema, undefined>], undefined>, undefined>;
|
|
62
56
|
}, undefined>;
|
|
63
57
|
declare const ClearOptionsSchema: import("@tai-kun/valibot-extra-lab").ObjectSchema<{
|
|
64
58
|
/**
|
|
@@ -72,274 +66,205 @@ declare const ClearOptionsSchema: import("@tai-kun/valibot-extra-lab").ObjectSch
|
|
|
72
66
|
timeout(milliseconds: number): AbortSignal;
|
|
73
67
|
}, undefined>, undefined>;
|
|
74
68
|
/**
|
|
75
|
-
*
|
|
69
|
+
* 実行時の変数です。
|
|
76
70
|
*/
|
|
77
|
-
readonly
|
|
71
|
+
readonly vars: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("@tai-kun/valibot-extra-lab").ArraySchema<import("@tai-kun/valibot-extra-lab").TupleSchema<[import("valibot").StringSchema<undefined>, import("valibot").UnknownSchema], undefined>, undefined>, import("@tai-kun/valibot-extra-lab").RecordSchema<import("valibot").AnySchema, import("valibot").UnknownSchema, undefined>], undefined>, undefined>;
|
|
78
72
|
}, undefined>;
|
|
79
73
|
/**
|
|
80
|
-
*
|
|
74
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
81
75
|
*/
|
|
82
76
|
export type OpenOptions = v.InferInput<typeof OpenOptionsSchema>;
|
|
83
77
|
/**
|
|
84
|
-
*
|
|
78
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
85
79
|
*/
|
|
86
80
|
export type CloseOptions = v.InferInput<typeof CloseOptionsSchema>;
|
|
87
81
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* @template TKeyValueMapping キーと値のマッピング定義です。
|
|
91
|
-
* @template TKey 対象となるキーの型です。
|
|
82
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
92
83
|
*/
|
|
93
84
|
export type SetOptions<TKeyValueMapping extends KeyValueMapping = KeyValueMapping, TKey extends KeyofKeyValueMapping<TKeyValueMapping> = KeyofKeyValueMapping<TKeyValueMapping>> = {
|
|
94
85
|
/**
|
|
95
|
-
*
|
|
86
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
96
87
|
*/
|
|
97
88
|
readonly key: TKey;
|
|
98
89
|
/**
|
|
99
|
-
*
|
|
90
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
100
91
|
*/
|
|
101
92
|
readonly value: SetValue<TKeyValueMapping[TKey]>;
|
|
102
93
|
/**
|
|
103
|
-
*
|
|
94
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
104
95
|
*/
|
|
105
96
|
readonly signal?: AbortSignal | undefined;
|
|
106
97
|
/**
|
|
107
|
-
*
|
|
98
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
108
99
|
*/
|
|
109
|
-
readonly
|
|
100
|
+
readonly vars?: VariablesSource | undefined;
|
|
110
101
|
};
|
|
111
102
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* @template TKey 対象となるキーの型です。
|
|
103
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
115
104
|
*/
|
|
116
105
|
export type GetOptions<TKey = IStorage.Key> = {
|
|
117
106
|
/**
|
|
118
|
-
*
|
|
107
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
119
108
|
*/
|
|
120
109
|
readonly key: TKey;
|
|
121
110
|
/**
|
|
122
|
-
*
|
|
111
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
123
112
|
*/
|
|
124
113
|
readonly signal?: AbortSignal | undefined;
|
|
125
114
|
/**
|
|
126
|
-
*
|
|
115
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
127
116
|
*/
|
|
128
|
-
readonly
|
|
117
|
+
readonly vars?: VariablesSource | undefined;
|
|
129
118
|
};
|
|
130
119
|
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* @template TKey 対象となるキーの型です。
|
|
120
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#value-stream)
|
|
134
121
|
*/
|
|
135
122
|
export type StreamOptions<TKey = IStorage.Key> = {
|
|
136
123
|
/**
|
|
137
|
-
*
|
|
124
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#value-stream)
|
|
138
125
|
*/
|
|
139
126
|
readonly key: TKey;
|
|
140
127
|
/**
|
|
141
|
-
*
|
|
128
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
142
129
|
*/
|
|
143
130
|
readonly signal?: AbortSignal | undefined;
|
|
144
131
|
/**
|
|
145
|
-
*
|
|
132
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
146
133
|
*/
|
|
147
|
-
readonly
|
|
134
|
+
readonly vars?: VariablesSource | undefined;
|
|
148
135
|
};
|
|
149
136
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* @template TKey 対象となるキーの型です。
|
|
137
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
153
138
|
*/
|
|
154
139
|
export type HasOptions<TKey = IStorage.Key> = {
|
|
155
140
|
/**
|
|
156
|
-
*
|
|
141
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
157
142
|
*/
|
|
158
143
|
readonly key: TKey;
|
|
159
144
|
/**
|
|
160
|
-
*
|
|
145
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
161
146
|
*/
|
|
162
147
|
readonly signal?: AbortSignal | undefined;
|
|
163
148
|
/**
|
|
164
|
-
*
|
|
149
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
165
150
|
*/
|
|
166
|
-
readonly
|
|
151
|
+
readonly vars?: VariablesSource | undefined;
|
|
167
152
|
};
|
|
168
153
|
/**
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
* @template TKey 対象となるキーの型です。
|
|
154
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
172
155
|
*/
|
|
173
156
|
export type DeleteOptions<TKey = IStorage.Key> = {
|
|
174
157
|
/**
|
|
175
|
-
*
|
|
158
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
176
159
|
*/
|
|
177
160
|
readonly key: TKey;
|
|
178
161
|
/**
|
|
179
|
-
*
|
|
162
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
180
163
|
*/
|
|
181
164
|
readonly signal?: AbortSignal | undefined;
|
|
182
165
|
/**
|
|
183
|
-
*
|
|
166
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#variables-and-cancellation)
|
|
184
167
|
*/
|
|
185
|
-
readonly
|
|
168
|
+
readonly vars?: VariablesSource | undefined;
|
|
186
169
|
};
|
|
187
170
|
/**
|
|
188
|
-
*
|
|
171
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
189
172
|
*/
|
|
190
173
|
export type ClearOptions = v.InferInput<typeof ClearOptionsSchema>;
|
|
191
174
|
/**
|
|
192
|
-
*
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
175
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
176
|
+
*/
|
|
177
|
+
export type UniKvsDestination = {
|
|
178
|
+
/**
|
|
179
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
180
|
+
*/
|
|
181
|
+
readonly storage: UniKvsStorage;
|
|
182
|
+
/**
|
|
183
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
184
|
+
*/
|
|
185
|
+
readonly transformers: readonly UniKvsTransformer[];
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
197
189
|
*/
|
|
198
190
|
export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueMapping> {
|
|
199
191
|
#private;
|
|
200
192
|
/**
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* @template TKeyValueMapping マッピング定義です。
|
|
204
|
-
* @returns 設定ビルダーのインスタンスです。
|
|
205
|
-
* @example
|
|
206
|
-
* ```typescript
|
|
207
|
-
* import { Compression } from "@unikvs/compression";
|
|
208
|
-
* import { FileSystem } from "@unikvs/fs.node";
|
|
209
|
-
* import { UniKvs, type Value } from "unikvs";
|
|
210
|
-
*
|
|
211
|
-
* const kvs = UniKvs.config<{
|
|
212
|
-
* foo: Value<Uint8Array<ArrayBuffer>>;
|
|
213
|
-
* }>()
|
|
214
|
-
* .appendTransformer(new Compression("gzip"))
|
|
215
|
-
* .appendStorage(new FileSystem(".tmp"))
|
|
216
|
-
* .create();
|
|
217
|
-
*
|
|
218
|
-
* await kvs.open();
|
|
219
|
-
*
|
|
220
|
-
* await kvs.set("foo", Uint8Array.from([0, 1, 2]));
|
|
221
|
-
*
|
|
222
|
-
* await kvs.close();
|
|
223
|
-
* ```
|
|
193
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
224
194
|
*/
|
|
225
195
|
static config<TKeyValueMapping extends KeyValueMapping>(): IUniKvsConfigBuilder<TKeyValueMapping>;
|
|
226
196
|
/**
|
|
227
|
-
*
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
197
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
198
|
+
*/
|
|
199
|
+
static config<const TSchema extends UniKvsSchema>(options: {
|
|
200
|
+
readonly schema: TSchema;
|
|
201
|
+
}): IUniKvsConfigBuilder<$InferKeyValueMapping<TSchema>>;
|
|
202
|
+
/**
|
|
203
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
|
|
233
204
|
*/
|
|
234
|
-
|
|
205
|
+
static config(options?: UniKvsConfigOptions): IUniKvsConfigBuilder;
|
|
235
206
|
/**
|
|
236
|
-
*
|
|
237
|
-
|
|
238
|
-
|
|
207
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
208
|
+
*/
|
|
209
|
+
constructor(vars: Readonly<Variables>, destinations: readonly [UniKvsDestination, ...UniKvsDestination[]], transformers: readonly UniKvsTransformer[], valueSchemaResolver?: IValueSchemaResolver | null);
|
|
210
|
+
/**
|
|
211
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
239
212
|
*/
|
|
240
213
|
get isOpen(): boolean;
|
|
241
214
|
/**
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
* @param options オープン時のオプションです。
|
|
245
|
-
* @returns 完了を通知する Promise です。
|
|
215
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
246
216
|
*/
|
|
247
217
|
open(options?: OpenOptions): Promise<void>;
|
|
248
218
|
/**
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
* @param options クローズ時のオプションです。
|
|
252
|
-
* @returns 完了を通知する Promise です。
|
|
219
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
253
220
|
*/
|
|
254
221
|
close(options?: CloseOptions): Promise<void>;
|
|
222
|
+
/**
|
|
223
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
224
|
+
*/
|
|
255
225
|
[Symbol.asyncDispose](): Promise<void>;
|
|
256
226
|
/**
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
* @template TKey 対象キーの型定義です。
|
|
260
|
-
* @param options セット操作のオプション一式です。
|
|
261
|
-
* @returns 完了を通知する Promise です。
|
|
227
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
262
228
|
*/
|
|
263
229
|
set<const TKey extends KeyofKeyValueMapping<TKeyValueMapping>>(options: SetOptions<TKeyValueMapping, TKey>): Promise<void>;
|
|
264
230
|
/**
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
* @template TKey 対象キーの型定義です。
|
|
268
|
-
* @param key 操作対象を識別するためのキーです。
|
|
269
|
-
* @param value 保存する値です。
|
|
270
|
-
* @param options 追加のオプションです。
|
|
271
|
-
* @returns 完了を通知する Promise です。
|
|
231
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
272
232
|
*/
|
|
273
233
|
set<const TKey extends KeyofKeyValueMapping<TKeyValueMapping>>(key: TKey, value: SetValue<TKeyValueMapping[TKey]>, options?: Omit<SetOptions, "key" | "value">): Promise<void>;
|
|
274
234
|
/**
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
* @template TKey 対象キーの型定義です。
|
|
278
|
-
* @param options 取得操作のオプション一式です。
|
|
279
|
-
* @returns 取得した値を返します。
|
|
235
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
280
236
|
*/
|
|
281
237
|
get<const TKey extends KeyofKeyValueMappingHasPlainValue<TKeyValueMapping>>(options: GetOptions<TKey>): Promise<$InferPlainValueData<TKeyValueMapping[TKey]>>;
|
|
282
238
|
/**
|
|
283
|
-
*
|
|
284
|
-
*
|
|
285
|
-
* @template TKey 対象キーの型定義です。
|
|
286
|
-
* @param key 操作対象を識別するためのキーです。
|
|
287
|
-
* @param options 追加のオプションです。
|
|
288
|
-
* @returns 取得した値を返します。
|
|
239
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
289
240
|
*/
|
|
290
241
|
get<const TKey extends KeyofKeyValueMappingHasPlainValue<TKeyValueMapping>>(key: TKey, options?: Omit<GetOptions, "key">): Promise<$InferPlainValueData<TKeyValueMapping[TKey]>>;
|
|
291
242
|
/**
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
* @template TKey 対象キーの型定義です。
|
|
295
|
-
* @param options ストリーム取得操作のオプション一式です。
|
|
296
|
-
* @returns 取得したストリームを返します。
|
|
243
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#value-stream)
|
|
297
244
|
*/
|
|
298
245
|
stream<const TKey extends KeyofKeyValueMappingHasStreamValue<TKeyValueMapping>>(options: StreamOptions<TKey>): Promise<ValueStream<$InferStreamValueChunkData<TKeyValueMapping[TKey]>>>;
|
|
299
246
|
/**
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
* @template TKey 対象キーの型定義です。
|
|
303
|
-
* @param key 操作対象を識別するためのキーです。
|
|
304
|
-
* @param options 追加のオプションです。
|
|
305
|
-
* @returns 取得したストリームを返します。
|
|
247
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#value-stream)
|
|
306
248
|
*/
|
|
307
249
|
stream<const TKey extends KeyofKeyValueMappingHasStreamValue<TKeyValueMapping>>(key: TKey, options?: Omit<StreamOptions, "key">): Promise<ValueStream<$InferStreamValueChunkData<TKeyValueMapping[TKey]>>>;
|
|
308
250
|
/**
|
|
309
|
-
*
|
|
310
|
-
*
|
|
311
|
-
* @param options 存在確認操作のオプションです。
|
|
312
|
-
* @returns 存在する場合は true、そうでない場合は false を返します。
|
|
251
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
313
252
|
*/
|
|
314
253
|
has(options: HasOptions<KeyofKeyValueMapping<TKeyValueMapping>>): Promise<boolean>;
|
|
315
254
|
/**
|
|
316
|
-
*
|
|
317
|
-
*
|
|
318
|
-
* @param key 操作対象を識別するためのキーです。
|
|
319
|
-
* @param options 追加のオプションです。
|
|
320
|
-
* @returns 存在する場合は true、そうでない場合は false を返します。
|
|
255
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
321
256
|
*/
|
|
322
257
|
has(key: KeyofKeyValueMapping<TKeyValueMapping>, options?: Omit<HasOptions, "key">): Promise<boolean>;
|
|
323
258
|
/**
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
* @param options 削除操作のオプションです。
|
|
327
|
-
* @returns 完了を通知する Promise です。
|
|
259
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
328
260
|
*/
|
|
329
261
|
delete(options: DeleteOptions<KeyofKeyValueMapping<TKeyValueMapping>>): Promise<void>;
|
|
330
262
|
/**
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
* @param key 操作対象を識別するためのキーです。
|
|
334
|
-
* @param options 追加のオプションです。
|
|
335
|
-
* @returns 完了を通知する Promise です。
|
|
263
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
336
264
|
*/
|
|
337
265
|
delete(key: KeyofKeyValueMapping<TKeyValueMapping>, options?: Omit<DeleteOptions, "key">): Promise<void>;
|
|
338
266
|
/**
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
* @param options クリア操作のオプションです。
|
|
342
|
-
* @returns 完了を通知する Promise です。
|
|
267
|
+
* [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#client-operations)
|
|
343
268
|
*/
|
|
344
269
|
clear(options?: ClearOptions): Promise<void>;
|
|
345
270
|
}
|
package/dist/src/unikvs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unikvs.d.ts","sourceRoot":"","sources":["../../src/unikvs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"unikvs.d.ts","sourceRoot":"","sources":["../../src/unikvs.ts"],"names":[],"mappings":"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"}
|