Backplane.Schema

Declarative raw data structure schema validator, coercer, and JSON Schema Draft 7 converter for Backplane.

Features

Installation

Add :backplane_schema to your dependencies:

def deps do
  [
    {:backplane_schema, "~> 1.10"}
  ]
end

Usage

defmodule MySchemas do
  import Backplane.Schema

  defschema :user, %{
    name: {:required, :string},
    age: {:integer, {:gte, 0}},
    tags: {:list, :string}
  }
end

{:ok, valid} = MySchemas.user(%{name: "Alice", age: 30, tags: ["admin"]})

License

MIT