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.
Files changed (63) hide show
  1. package/README.md +3 -0
  2. package/dist/src/_logger.d.ts.map +1 -1
  3. package/dist/src/_merge-variables.d.ts +13 -0
  4. package/dist/src/_merge-variables.d.ts.map +1 -0
  5. package/dist/src/_merge-variables.js +12 -0
  6. package/dist/src/_storage.d.ts +11 -11
  7. package/dist/src/_storage.d.ts.map +1 -1
  8. package/dist/src/_storage.js +31 -22
  9. package/dist/src/_streams.d.ts +20 -0
  10. package/dist/src/_streams.d.ts.map +1 -0
  11. package/dist/src/_streams.js +36 -0
  12. package/dist/src/_to-value-stream.d.ts.map +1 -1
  13. package/dist/src/_to-value-stream.js +44 -6
  14. package/dist/src/_transformer.d.ts +7 -7
  15. package/dist/src/_transformer.d.ts.map +1 -1
  16. package/dist/src/_transformer.js +12 -12
  17. package/dist/src/_valibot.d.ts +6 -7
  18. package/dist/src/_valibot.d.ts.map +1 -1
  19. package/dist/src/_valibot.js +1 -1
  20. package/dist/src/_value-schemas.d.ts +179 -0
  21. package/dist/src/_value-schemas.d.ts.map +1 -0
  22. package/dist/src/_value-schemas.js +150 -0
  23. package/dist/src/errors.d.ts +218 -27
  24. package/dist/src/errors.d.ts.map +1 -1
  25. package/dist/src/errors.js +102 -47
  26. package/dist/src/index.d.ts +3 -3
  27. package/dist/src/index.d.ts.map +1 -1
  28. package/dist/src/index.js +2 -2
  29. package/dist/src/unikvs-config.d.ts +58 -139
  30. package/dist/src/unikvs-config.d.ts.map +1 -1
  31. package/dist/src/unikvs-config.js +41 -46
  32. package/dist/src/unikvs.d.ts +86 -161
  33. package/dist/src/unikvs.d.ts.map +1 -1
  34. package/dist/src/unikvs.js +374 -171
  35. package/dist/src/utils.types.d.ts +1 -3
  36. package/dist/src/utils.types.d.ts.map +1 -1
  37. package/dist/src/value-stream.types.d.ts +5 -6
  38. package/dist/src/value-stream.types.d.ts.map +1 -1
  39. package/dist/src/variables.types.d.ts +11 -0
  40. package/dist/src/variables.types.d.ts.map +1 -0
  41. package/package.json +26 -25
  42. package/src/_merge-variables.ts +19 -0
  43. package/src/_storage.ts +47 -24
  44. package/src/_streams.ts +47 -0
  45. package/src/_to-value-stream.ts +47 -8
  46. package/src/_transformer.ts +13 -13
  47. package/src/_valibot.ts +8 -6
  48. package/src/_value-schemas.ts +362 -0
  49. package/src/errors.ts +280 -68
  50. package/src/index.ts +2 -3
  51. package/src/unikvs-config.ts +142 -167
  52. package/src/unikvs.ts +523 -285
  53. package/src/utils.types.ts +1 -3
  54. package/src/value-stream.types.ts +5 -6
  55. package/src/variables.types.ts +13 -0
  56. package/dist/src/_merge-context.d.ts +0 -13
  57. package/dist/src/_merge-context.d.ts.map +0 -1
  58. package/dist/src/_merge-context.js +0 -12
  59. package/dist/src/context.types.d.ts +0 -17
  60. package/dist/src/context.types.d.ts.map +0 -1
  61. package/src/_merge-context.ts +0 -19
  62. package/src/context.types.ts +0 -19
  63. /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, _UniKvsConfig_context, _UniKvsConfig_destinations, _UniKvsConfig_transformers;
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
- * UniKvs の構成を管理する設定クラスです。
18
- *
19
- * ビルダーパターンを用いて、コンテキスト、トランスフォーマー、ストレージの順で設定を積み上げます。
27
+ * [API Reference](https://tai-kun.github.io/unikvs/packages/unikvs#config-builder)
20
28
  */
21
29
  class UniKvsConfig {
22
30
  /**
23
- * UniKvsConfig インスタンスを初期化します。
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
- _UniKvsConfig_context.set(this, void 0);
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, _UniKvsConfig_context, {}, "f");
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
- * 現在の設定を使用して UniKvs インスタンスを作成します。
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 [dest, ...destinations] = __classPrivateFieldGet(this, _UniKvsConfig_destinations, "f").map((io) => new UniKvsStorage(io));
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 (!dest) {
71
+ if (!first) {
60
72
  throw new MissingStorageError();
61
73
  }
62
- // コンテキストの参照を切り離すために浅いコピーを作成して UniKvs を初期化します。
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
- setContext(context) {
73
- __classPrivateFieldSet(this, _UniKvsConfig_context, Array.isArray(context) ? Object.fromEntries(context) : { ...context }, "f");
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(), _UniKvsConfig_context = new WeakMap(), _UniKvsConfig_destinations = new WeakMap(), _UniKvsConfig_transformers = 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;
@@ -1,29 +1,23 @@
1
- import type { Context, IStorage } from "@unikvs/core";
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 { ContextSource } from "./context.types.js";
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> = $InferPlainValueData<TValue> | (TValue extends StreamValue<infer TChunkData> ? ReadableStream<TChunkData> : never);
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 context: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("@tai-kun/valibot-extra-lab").RecordSchema<import("valibot").AnySchema, import("valibot").UnknownSchema, undefined>, import("@tai-kun/valibot-extra-lab").ArraySchema<import("@tai-kun/valibot-extra-lab").TupleSchema<[import("valibot").StringSchema<undefined>, import("valibot").UnknownSchema], undefined>, undefined>], undefined>, undefined>;
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 context: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("@tai-kun/valibot-extra-lab").RecordSchema<import("valibot").AnySchema, import("valibot").UnknownSchema, undefined>, import("@tai-kun/valibot-extra-lab").ArraySchema<import("@tai-kun/valibot-extra-lab").TupleSchema<[import("valibot").StringSchema<undefined>, import("valibot").UnknownSchema], undefined>, undefined>], undefined>, undefined>;
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 context: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("@tai-kun/valibot-extra-lab").RecordSchema<import("valibot").AnySchema, import("valibot").UnknownSchema, undefined>, import("@tai-kun/valibot-extra-lab").ArraySchema<import("@tai-kun/valibot-extra-lab").TupleSchema<[import("valibot").StringSchema<undefined>, import("valibot").UnknownSchema], undefined>, undefined>], undefined>, undefined>;
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 context?: ContextSource | undefined;
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 context?: ContextSource | undefined;
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 context?: ContextSource | undefined;
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 context?: ContextSource | undefined;
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 context?: ContextSource | undefined;
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
- * UniKvs メインクラスです。
193
- *
194
- * 複数のストレージとトランスフォーマーを統合して KVS 操作を提供します。
195
- *
196
- * @template TKeyValueMapping キーと値のマッピング定義です。
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
- * UniKvs の設定ビルダーを作成します。
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
- * @internal UniKvs の設定ビルダー経由で使用します。
230
- * @param context コンテキストです。
231
- * @param destinations ストレージのリストです。
232
- * @param transformers トランスフォーマーのリストです。
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
- constructor(context: Readonly<Context>, destinations: readonly [UniKvsStorage, ...UniKvsStorage[]], transformers: readonly UniKvsTransformer[]);
205
+ static config(options?: UniKvsConfigOptions): IUniKvsConfigBuilder;
235
206
  /**
236
- * UniKvs が利用可能であるかを確認します。
237
- *
238
- * @returns 利用可能である場合は true、そうでない場合は false を返します。
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unikvs.d.ts","sourceRoot":"","sources":["../../src/unikvs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAmB,MAAM,cAAc,CAAC;AAMvE,OAAO,aAAa,MAAM,eAAe,CAAC;AAE1C,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAqB,EACnB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAQ3D;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,MAAM,SAAS,KAAK,IACrC,oBAAoB,CAAC,MAAM,CAAC,GAC5B,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC;AAExF;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,CAAC,gBAAgB,SAAS,eAAe,IAAI,OAAO,CAAC;KAC/F,IAAI,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,UAAU,SAAS,gBAAgB,CAAC,IAAI,CAAC,GACvF,IAAI,GACJ,KAAK;CACV,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,CAAC,gBAAgB,SAAS,eAAe,IAAI,OAAO,CAAC;KAChG,IAAI,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,WAAW,SAAS,gBAAgB,CAAC,IAAI,CAAC,GACxF,IAAI,GACJ,KAAK;CACV,CAAC,CAAC;AAeH,QAAA,MAAM,iBAAiB;IACrB;;OAEG;;;;;;;;IAGH;;OAEG;;aAEH,CAAC;AAIH,QAAA,MAAM,kBAAkB;IACtB;;OAEG;;;;;;;;IAGH;;OAEG;;aAEH,CAAC;AA+EH,QAAA,MAAM,kBAAkB;IACtB;;OAEG;;;;;;;;IAGH;;OAEG;;aAEH,CAAC;AAUH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CACpB,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,IAAI,SAAS,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,IAC1F;IACF;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjD;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI;IAC5C;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI;IAC/C;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI;IAC5C;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI;IAC/C;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAmCnE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,gBAAgB,SAAS,eAAe,GAAG,eAAe;;IACpF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;WACW,MAAM,CAClB,gBAAgB,SAAS,eAAe,KACrC,oBAAoB,CAAC,gBAAgB,CAAC;IA0B3C;;;;;;;OAOG;gBAED,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,YAAY,EAAE,SAAS,CAAC,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC,EAC1D,YAAY,EAAE,SAAS,iBAAiB,EAAE;IAS5C;;;;OAIG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;;;;OAKG;IACI,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA8JjD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC7C,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5C;;;;;;OAMG;IACI,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,oBAAoB,CAAC,gBAAgB,CAAC,EAClE,OAAO,EAAE,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC;IAEhB;;;;;;;;OAQG;IACI,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,oBAAoB,CAAC,gBAAgB,CAAC,EAClE,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EACvC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC;IAkHhB;;;;;;OAMG;IACI,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,iCAAiC,CAAC,gBAAgB,CAAC,EAC/E,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,GACxB,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAExD;;;;;;;OAOG;IACI,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,iCAAiC,CAAC,gBAAgB,CAAC,EAC/E,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAChC,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAyDxD;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,kCAAkC,CAAC,gBAAgB,CAAC,EACnF,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAC3B,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3E;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,kCAAkC,CAAC,gBAAgB,CAAC,EACnF,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,GACnC,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAsF3E;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAEzF;;;;;;OAMG;IACI,GAAG,CACR,GAAG,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAC3C,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;IA0CnB;;;;;OAKG;IACI,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5F;;;;;;OAMG;IACI,MAAM,CACX,GAAG,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAC3C,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAmDhB;;;;;OAKG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CA+C1D"}
1
+ {"version":3,"file":"unikvs.d.ts","sourceRoot":"","sources":["../../src/unikvs.ts"],"names":[],"mappings":"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"}