Current section

Files

Jump to
datacaster lib datacaster.ex
Raw

lib/datacaster.ex

defmodule Datacaster do
defmacro __using__(_) do
quote do
require Datacaster
end
end
defmacro schema(do: block) do
quote do
require Datacaster.Predefined
import Kernel, except: [>: 2, <>: 2, *: 2]
import Datacaster.Predefined
schema(unquote(block))
end
end
defmacro choosy_schema(do: block) do
quote do
require Datacaster.Predefined
import Kernel, except: [>: 2, <>: 2, *: 2]
import Datacaster.Predefined
choosy_schema(unquote(block))
end
end
defmacro partial_schema(do: block) do
quote do
require Datacaster.Predefined
import Kernel, except: [>: 2, <>: 2, *: 2]
import Datacaster.Predefined
unquote(block)
end
end
defmodule Absent do
end
end
# !@#$%^&*()_+{}|:"<>?~`-=[]\;',./