Packages

A schema description and data validation library for Elixir

Current section

Files

Jump to
zbang lib context.ex
Raw

lib/context.ex

defmodule Z.Context do
@moduledoc """
The Context struct
"""
defstruct parent: nil, path: ["."]
@type t :: %Z.Context{
parent: Z.Context.t(),
path: [String.t()]
}
def new(path_segment, parent \\ nil) do
%Z.Context{
parent: parent,
path: path(path_segment, parent)
}
end
defp path(path_segment, nil) do
[path_segment]
end
defp path(path_segment, parent) do
[path_segment | parent.path]
end
end