# ex_params_schema v0.1.0 - Table of Contents

> LiveView イベントパラメーターを型付き構造体へ変換するライブラリ

## Pages

- [ExParamsSchema](readme.md)
- [Changelog](changelog.md)
- [DSL reference](dsl.md)
- [Using json_schema:](json-schema-usage.md)
- [Parsing semantics](parsing-semantics.md)
- [ExParamsSchema (日本語)](readme_ja.md)
- [DSL リファレンス](dsl_ja.md)
- [`json_schema:` の使い方](json-schema-usage_ja.md)
- [パースの仕様](parsing-semantics_ja.md)

## Modules

- [ExParamsSchema](ExParamsSchema.md): LiveView、Phoenix Controller、JSON API などで受け取る文字列中心の params を検証し、
型付き構造体へ変換するための DSL です。
- [ExParamsSchema.Caster](ExParamsSchema.Caster.md): DSL の組み込み型へ入力値を変換します。
- [ExParamsSchema.Compiler](ExParamsSchema.Compiler.md): `use ExParamsSchema` で宣言されたフィールドから、構造体と関連関数をコンパイル時に生成します。
- [ExParamsSchema.Definition](ExParamsSchema.Definition.md): DSL と map 形式のフィールド定義を正規化・検証します。
- [ExParamsSchema.Definition.Field](ExParamsSchema.Definition.Field.md): 正規化済みのフィールド定義を表す内部構造体です。
- [ExParamsSchema.Definition.Typespec](ExParamsSchema.Definition.Typespec.md): 正規化済みフィールドから、生成する構造体の型仕様 AST を組み立てます。
- [ExParamsSchema.Handler](ExParamsSchema.Handler.md): LiveView callback に params schema を関連付け、受信値を変換します。
- [ExParamsSchema.Handler.Compiler](ExParamsSchema.Handler.Compiler.md): `ExParamsSchema.Handler` の注釈を callback 実装へ展開します。
- [ExParamsSchema.Parser](ExParamsSchema.Parser.md): コンパイル済みスキーマに対するパラメーターの変換・検証を実行します。
- [ExParamsSchema.Schema](ExParamsSchema.Schema.md): 正規化済みフィールド、JSON Schema、検証用データをまとめるコンパイル済みスキーマです。
- [ExParamsSchema.Schema.Defaults](ExParamsSchema.Schema.Defaults.md): フィールドの既定値をキャストし、生成した JSON Schema に対して検証します。
- [ExParamsSchema.Schema.Defaults.Context](ExParamsSchema.Schema.Defaults.Context.md)
- [ExParamsSchema.Schema.ErrorPath](ExParamsSchema.Schema.ErrorPath.md): JSON Schema のエラーパスを、スキーマのエラー定義へ対応付けます。
- [ExParamsSchema.Schema.JsonPointer](ExParamsSchema.Schema.JsonPointer.md): JSON Pointer とフィールドパスを変換・照合する純粋関数を提供します。
- [ExParamsSchema.Schema.JsonSchema](ExParamsSchema.Schema.JsonSchema.md): 正規化済みフィールドから JSON Schema Draft 7 を組み立てます。
- [ExParamsSchema.Schema.Options](ExParamsSchema.Schema.Options.md): schema-level option の既定値と正規化規則を管理します。
- [ExParamsSchema.Schema.Projector](ExParamsSchema.Schema.Projector.md): 変換済みの値を JSON Schema 検証用の JSON 互換の値へ変換します。
- [ExParamsSchema.Schema.Validator](ExParamsSchema.Schema.Validator.md): JSON Schema による検証結果を ExParamsSchema のエラー形式へ変換します。
- [ExParamsSchema.Type](ExParamsSchema.Type.md): 独自型を `ExParamsSchema` のフィールドとして利用するための仕様です。
- [ExParamsSchema.ValidationError](ExParamsSchema.ValidationError.md): `parse_detailed/1` と `parse_detailed/2` が返す検証エラーです。
- [ExParamsSchema.ValueCaster](ExParamsSchema.ValueCaster.md): 正規化済みの型定義に従って、単一値、配列、object を再帰的に変換します。

