DSL と map 形式のフィールド定義を正規化・検証します。
このモジュールは関連する機能をまとめる入口です。個別の処理は
Normalizer、Validator、Compiler に分割されています。
Summary
Functions
map 形式のスキーマ定義を検証済みフィールドへコンパイルします。
フィールド定義をパーサーが利用する構造体へコンパイルします。
map 形式のスキーマをフィールド定義のリストへ変換します。
DSL option と JSON Schema keyword の対応を返します。
1 つの型定義を型と option に分解し、内部表現へ正規化します。
フィールド定義全体を正規化し、名前と入力キーの重複を検証します。
Types
@type normalized_definition() :: {type :: ExParamsSchema.field_type(), options :: ExParamsSchema.field_options()}
Functions
@spec compile!(%{required(atom()) => ExParamsSchema.definition()}) :: [ ExParamsSchema.Definition.Field.t() ]
map 形式のスキーマ定義を検証済みフィールドへコンパイルします。
@spec compile_fields!([ExParamsSchema.field()]) :: [ ExParamsSchema.Definition.Field.t() ]
フィールド定義をパーサーが利用する構造体へコンパイルします。
@spec fields_from_map!(%{required(atom()) => ExParamsSchema.definition()}) :: [ ExParamsSchema.field() ]
map 形式のスキーマをフィールド定義のリストへ変換します。
DSL option と JSON Schema keyword の対応を返します。
@spec normalize!(ExParamsSchema.definition()) :: normalized_definition()
1 つの型定義を型と option に分解し、内部表現へ正規化します。
@spec normalize_fields!([ExParamsSchema.field()]) :: [ExParamsSchema.field()]
フィールド定義全体を正規化し、名前と入力キーの重複を検証します。