設定パースのヘルパー。詳細なエラー報告を伴う JSONC パースに加え、パース済みデータを zod と Effect の両スキーマに対して検証する。
Methods
(static) effectSchema(schema, data, source) → {*}
Effect スキーマに対してデータを検証・デコードする。ユーザーが指定した元のプロパティ順序を保持し、認識されないトップレベルのキーを拒否する。
| Name | Type | Description |
|---|---|---|
schema | Object | デコードに用いる Effect スキーマ。 |
data | * | 検証・デコード対象のデータ。 |
source | string | 検証エラーに付与するパス/ソースのラベル。 |
When unknown top-level keys are present or decoding fails.
- Type
- InvalidError
デコードされた値。
- Type:
- *
(static) jsonc(text, filepath) → {*}
JSONC(コメントと末尾カンマを許容する JSON)テキストを値にパースする。パース失敗時には JsonError をスローし、そのメッセージには入力と、行・列および問題箇所を指すキャレットを含むエラーごとのレポートが含まれる。
| Name | Type | Description |
|---|---|---|
text | string | JSONC のソーステキスト。 |
filepath | string | エラーのラベルに使うパス(テキストの出所)。 |
When the text contains JSONC syntax errors.
- Type
- JsonError
パースされた値。
- Type:
- *
(static) schema(schema, data, source) → {*}
zod スキーマに対してデータを検証・パースする。
| Name | Type | Description |
|---|---|---|
schema | Object |
|
data | * | 検証対象のデータ。 |
source | string | 検証エラーに付与するパス/ソースのラベル。 |
When validation fails, carrying the zod issues.
- Type
- InvalidError
パース(検証)済みのデータ。
- Type:
- *
(inner) topLevelExtraKeys(schema, data) → {Array.<string>}
data に存在し、かつスキーマで宣言されていないトップレベルのキーを列挙する。data が素のオブジェクトであり、かつスキーマがクローズドなオブジェクト型(インデックスシグネチャを持たない)である場合にのみ余分なキーは意味を持つため、それ以外の場合は空配列を返す。
| Name | Type | Description |
|---|---|---|
schema | Object | AST を検査する Effect スキーマ。 |
data | * | キーを調べる対象のデータ。 |
認識されないトップレベルのキー名。
- Type:
- Array.<string>