# ex_params_schema v0.1.1 - Table of Contents

> Converts and validates string-oriented params into typed Elixir values

## Pages

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

## Modules

- [ExParamsSchema](ExParamsSchema.md): A DSL for validating string-heavy params received by LiveViews, Phoenix controllers, JSON APIs,
and similar sources, and casting them into typed structs.
- [ExParamsSchema.Caster](ExParamsSchema.Caster.md): Casts input values to the DSL's built-in types.
- [ExParamsSchema.Compiler](ExParamsSchema.Compiler.md): Generates structs and related functions at compile time from fields declared with
`use ExParamsSchema`.
- [ExParamsSchema.Definition](ExParamsSchema.Definition.md): Normalizes and validates field definitions written in the DSL and map forms.
- [ExParamsSchema.Definition.Field](ExParamsSchema.Definition.Field.md): An internal struct that represents a normalized field definition.
- [ExParamsSchema.Definition.Typespec](ExParamsSchema.Definition.Typespec.md): Builds the typespec AST for generated structs from normalized fields.
- [ExParamsSchema.Handler](ExParamsSchema.Handler.md): Associates params schemas with supported callbacks and casts received values.
- [ExParamsSchema.Handler.Compiler](ExParamsSchema.Handler.Compiler.md): Expands `ExParamsSchema.Handler` annotations into callback implementations.
- [ExParamsSchema.Parser](ExParamsSchema.Parser.md): Casts and validates parameters against compiled schemas.
- [ExParamsSchema.Schema](ExParamsSchema.Schema.md): Represents a compiled schema containing normalized fields, JSON Schema, and validation data.
- [ExParamsSchema.Schema.Defaults](ExParamsSchema.Schema.Defaults.md): Casts field defaults and validates them against the generated JSON Schema.
- [ExParamsSchema.Schema.Defaults.Context](ExParamsSchema.Schema.Defaults.Context.md): Carries the resolved JSON Schema and traversal state while normalizing defaults.
- [ExParamsSchema.Schema.ErrorPath](ExParamsSchema.Schema.ErrorPath.md): Maps JSON Schema error paths to schema error definitions.
- [ExParamsSchema.Schema.JsonPointer](ExParamsSchema.Schema.JsonPointer.md): Provides pure functions for converting and matching JSON Pointers and field paths.
- [ExParamsSchema.Schema.JsonSchema](ExParamsSchema.Schema.JsonSchema.md): Builds JSON Schema Draft 7 documents from normalized fields.
- [ExParamsSchema.Schema.Options](ExParamsSchema.Schema.Options.md): Manages default values and normalization rules for schema-level options.
- [ExParamsSchema.Schema.Projector](ExParamsSchema.Schema.Projector.md): Converts cast values into JSON-compatible values for JSON Schema validation.
- [ExParamsSchema.Schema.Validator](ExParamsSchema.Schema.Validator.md): Converts JSON Schema validation results into ExParamsSchema error formats.
- [ExParamsSchema.Type](ExParamsSchema.Type.md): Specifies how to use custom types as `ExParamsSchema` fields.
- [ExParamsSchema.ValidationError](ExParamsSchema.ValidationError.md): Represents validation errors returned by `parse_detailed/1` and `parse_detailed/2`.
- [ExParamsSchema.ValueCaster](ExParamsSchema.ValueCaster.md): Recursively casts scalar values, arrays, and objects according to normalized type definitions.

