unikvs 0.0.10 → 0.0.13
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/index.d.ts +1553 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4032 -0
- package/dist/index.js.map +1 -0
- package/package.json +35 -34
- package/src/_contexts.ts +1089 -0
- package/src/_logger.ts +5 -3
- package/src/_middleware.ts +207 -0
- package/src/_pipeline-graph.helpers.ts +183 -0
- package/src/_pipeline-graph.ts +1307 -0
- package/src/_pipeline-graph.types.ts +303 -0
- package/src/_pipeline-leaf-resolver.ts +70 -0
- package/src/_plugin-lifecycle.ts +201 -0
- package/src/_storage.ts +173 -96
- package/src/_streams.schemas.ts +21 -0
- package/src/_streams.ts +73 -0
- package/src/_to-value-stream.ts +22 -11
- package/src/_types.ts +237 -0
- package/src/_unikvs-branch.ts +94 -0
- package/src/_unikvs.schemas.ts +451 -0
- package/src/_valibot.ts +17 -3
- package/src/_value-schemas.ts +192 -0
- package/src/_value-validation.ts +57 -0
- package/src/errors.ts +446 -252
- package/src/index.ts +46 -26
- package/src/types.ts +13 -0
- package/src/unikvs-branch.ts +445 -0
- package/src/unikvs-builder.ts +706 -0
- package/src/unikvs.ts +1456 -971
- package/src/unikvs.types.ts +194 -0
- package/src/value-schemas.ts +98 -0
- package/dist/src/_logger.d.ts +0 -3
- package/dist/src/_logger.d.ts.map +0 -1
- package/dist/src/_logger.js +0 -3
- 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/_storage.d.ts +0 -18
- package/dist/src/_storage.d.ts.map +0 -1
- package/dist/src/_storage.js +0 -94
- package/dist/src/_to-value-stream.d.ts +0 -12
- package/dist/src/_to-value-stream.d.ts.map +0 -1
- package/dist/src/_to-value-stream.js +0 -102
- package/dist/src/_transformer.d.ts +0 -13
- package/dist/src/_transformer.d.ts.map +0 -1
- package/dist/src/_transformer.js +0 -60
- package/dist/src/_valibot.d.ts +0 -15
- package/dist/src/_valibot.d.ts.map +0 -1
- package/dist/src/_valibot.js +0 -23
- package/dist/src/context.types.d.ts +0 -17
- package/dist/src/context.types.d.ts.map +0 -1
- package/dist/src/context.types.js +0 -1
- package/dist/src/errors.d.ts +0 -340
- package/dist/src/errors.d.ts.map +0 -1
- package/dist/src/errors.js +0 -250
- package/dist/src/index.d.ts +0 -10
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -3
- package/dist/src/unikvs-config.d.ts +0 -255
- package/dist/src/unikvs-config.d.ts.map +0 -1
- package/dist/src/unikvs-config.js +0 -105
- package/dist/src/unikvs.d.ts +0 -354
- package/dist/src/unikvs.d.ts.map +0 -1
- package/dist/src/unikvs.js +0 -867
- package/dist/src/utils.types.d.ts +0 -7
- package/dist/src/utils.types.d.ts.map +0 -1
- package/dist/src/utils.types.js +0 -1
- package/dist/src/value-stream.types.d.ts +0 -16
- package/dist/src/value-stream.types.d.ts.map +0 -1
- package/dist/src/value-stream.types.js +0 -1
- package/src/_merge-context.ts +0 -19
- package/src/_transformer.ts +0 -89
- package/src/context.types.ts +0 -19
- package/src/unikvs-config.ts +0 -426
- package/src/utils.types.ts +0 -6
- package/src/value-stream.types.ts +0 -19
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { isReadableStream } from "./_streams.js";
|
|
2
|
+
import { pipe, check, unknown, parseInput } from "./_valibot.js";
|
|
3
|
+
import type { ValueSchemaInfo } from "./_value-schemas.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* プレーン値専用のスキーマに ReadableStream が渡されたことを報告するためのスキーマです。
|
|
7
|
+
*/
|
|
8
|
+
const PlainValueInputSchema = pipe(
|
|
9
|
+
unknown(),
|
|
10
|
+
check(
|
|
11
|
+
(input) => !isReadableStream(input),
|
|
12
|
+
"Expected a plain value, but received a ReadableStream",
|
|
13
|
+
),
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* ストリーム専用のスキーマにプレーン値が渡されたことを報告するためのスキーマです。
|
|
18
|
+
*/
|
|
19
|
+
const StreamValueInputSchema = pipe(
|
|
20
|
+
unknown(),
|
|
21
|
+
check(isReadableStream, "Expected a ReadableStream, but received a plain value"),
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* スキーマ情報に基づいて `set` の入力値を検証します。
|
|
26
|
+
*
|
|
27
|
+
* プレーン値はその場で検証し、ストリームはチャンクごとに検証するストリームに変換します。
|
|
28
|
+
*
|
|
29
|
+
* @param info キーに対応するスキーマ情報です。
|
|
30
|
+
* @param value 検証する入力値です。
|
|
31
|
+
*
|
|
32
|
+
* @returns 検証済みの入力値を返します。
|
|
33
|
+
*/
|
|
34
|
+
export function parseSetValue(info: ValueSchemaInfo, value: unknown): unknown {
|
|
35
|
+
if (isReadableStream(value)) {
|
|
36
|
+
if (info.kind === "plain") {
|
|
37
|
+
// 必ず検証に失敗するため、InvalidInputError が投げられます。
|
|
38
|
+
parseInput(PlainValueInputSchema, value);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// 入力チャンクを検証し、変換後の値を後続のパイプラインへ流します。
|
|
42
|
+
return value.pipeThrough(
|
|
43
|
+
new TransformStream({
|
|
44
|
+
transform(chunk, controller) {
|
|
45
|
+
controller.enqueue(parseInput(info.schema, chunk));
|
|
46
|
+
},
|
|
47
|
+
}),
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (info.kind === "stream") {
|
|
52
|
+
// 必ず検証に失敗するため、InvalidInputError が投げられます。
|
|
53
|
+
parseInput(StreamValueInputSchema, value);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return parseInput(info.schema, value);
|
|
57
|
+
}
|