Modules
Peri is a data description library for Elixir, in the spirit of Clojure's
Plumatic Schema and Metosin's Malli. A schema is plain Elixir data: atoms
like :string, literals like {:literal, 42}, tuples, maps, keyword lists,
composed however the data demands. There is no separate DSL to learn; the
schema language is Elixir itself. Peri is data, Peri is Elixir.
Responsible to convert between Peri <> Ecto types definitions
Represents any type. Passes data to Cassandra as is.
Custom Ecto type for storing atoms as strings
Custom Ecto type for storing either of two types
Custom Ecto type for storing one of many types, aka sum types
Custom Ecto type for storing PIDs, use with caution
Custom Ecto type for storing tuples with multiple types/elements
Defines the structure and functions for handling validation errors in the Peri schema validation library.
A form-ready struct holding Peri validation results.
A module for generating sample data based on Peri schemas using StreamData.
Exception raised when an invalid schema is encountered.
Decodes a JSON Schema (Draft 7) map into a Peri schema definition.
Encodes a Peri schema definition into a JSON Schema (Draft 7) map.
The Peri.Parser module is responsible for managing the state during schema validation.
It centralizes functions to handle updating data, adding errors, and managing the path within
the data structure being validated.
Bridges Peri schemas and Phoenix forms.
Depth-first schema rewriter.