We use JSON Schema validation inside our projects, but storing large schema in Elixir files looks ugly, and you can't really move them to a separate file since it will be erased during compile and release.
This module solves this issue by in-lining schemas in compilation time via Elixir macros.
It's available in Hex, the package can be installed as:
-
Add
jvalid
to your list of dependencies inmix.exs
:def deps do [{:jvalid, "~> 0.5.2"}] end
-
Ensure
jvalid
is started before your application:def application do [applications: [:jvalid]] end