DSL.Options (dsl v0.1.1)

Copy Markdown View Source

Ecto-style option schema validation for DSL declarations.

Summary

Functions

Validate options and return normalized field data.

Validate options and raise ArgumentError with DSL-friendly messages on failure.

Types

return_shape()

@type return_shape() :: :map | :keyword

t()

@type t() :: %DSL.Options{
  fields: [DSL.Option.t()],
  name: atom(),
  return: return_shape()
}

Functions

validate(schema, opts)

@spec validate(t(), keyword() | map()) :: {:ok, map() | keyword()} | {:error, term()}

Validate options and return normalized field data.

validate!(schema, opts, validate_opts \\ [])

@spec validate!(t(), keyword() | map(), keyword()) :: map() | keyword()

Validate options and raise ArgumentError with DSL-friendly messages on failure.