API Reference peri v#0.11.1

Copy Markdown View Source

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.