設定パースのヘルパー。詳細なエラー報告を伴う JSONC パースに加え、パース済みデータを zod と Effect の両スキーマに対して検証する。

Methods

(static) effectSchema(schema, data, source) → {*}

Effect スキーマに対してデータを検証・デコードする。ユーザーが指定した元のプロパティ順序を保持し、認識されないトップレベルのキーを拒否する。

Parameters:
NameTypeDescription
schemaObject

デコードに用いる Effect スキーマ。

data*

検証・デコード対象のデータ。

sourcestring

検証エラーに付与するパス/ソースのラベル。

Throws:

When unknown top-level keys are present or decoding fails.

Type
InvalidError
Returns:

デコードされた値。

Type: 
*

(static) jsonc(text, filepath) → {*}

JSONC(コメントと末尾カンマを許容する JSON)テキストを値にパースする。パース失敗時には JsonError をスローし、そのメッセージには入力と、行・列および問題箇所を指すキャレットを含むエラーごとのレポートが含まれる。

Parameters:
NameTypeDescription
textstring

JSONC のソーステキスト。

filepathstring

エラーのラベルに使うパス(テキストの出所)。

Throws:

When the text contains JSONC syntax errors.

Type
JsonError
Returns:

パースされた値。

Type: 
*

(static) schema(schema, data, source) → {*}

zod スキーマに対してデータを検証・パースする。

Parameters:
NameTypeDescription
schemaObject

safeParse を公開する zod スキーマ。

data*

検証対象のデータ。

sourcestring

検証エラーに付与するパス/ソースのラベル。

Throws:

When validation fails, carrying the zod issues.

Type
InvalidError
Returns:

パース(検証)済みのデータ。

Type: 
*

(inner) topLevelExtraKeys(schema, data) → {Array.<string>}

data に存在し、かつスキーマで宣言されていないトップレベルのキーを列挙する。data が素のオブジェクトであり、かつスキーマがクローズドなオブジェクト型(インデックスシグネチャを持たない)である場合にのみ余分なキーは意味を持つため、それ以外の場合は空配列を返す。

Parameters:
NameTypeDescription
schemaObject

AST を検査する Effect スキーマ。

data*

キーを調べる対象のデータ。

Returns:

認識されないトップレベルのキー名。

Type: 
Array.<string>