View Source Xema.Ref (xema v0.16.0)

This module contains a struct and functions to represent and handle references.

Link to this section Summary

Types

t()

A reference contains a pointer and an optional uri.

Functions

Returns the schema and the root for the given ref and xema.

Returns the reference key for a Ref or an URI.

Creates a new reference from the given pointer.

Creates a new reference from the given pointer and uri.

Validates the given value with the referenced schema.

Link to this section Types

@type t() :: %Xema.Ref{pointer: String.t(), uri: URI.t() | nil}

A reference contains a pointer and an optional uri.

Link to this section Functions

Link to this function

fetch!(ref, master, root)

View Source
@spec fetch!(t(), struct(), struct() | nil) :: {struct() | atom(), struct()}

Returns the schema and the root for the given ref and xema.

@spec key(ref :: t() | URI.t()) :: String.t()

Returns the reference key for a Ref or an URI.

@spec new(String.t()) :: t()

Creates a new reference from the given pointer.

@spec new(String.t(), URI.t() | nil) :: t()

Creates a new reference from the given pointer and uri.

Link to this function

validate(ref, value, opts)

View Source
@spec validate(t(), any(), keyword()) :: :ok | {:error, map()}

Validates the given value with the referenced schema.