FormBuilderDSL.Enum (form_builder_dsl v0.1.0)

View Source

Runtime-safe enum registry and utilities using ETS.

Ensures enums can be registered and retrieved safely at both compile-time and runtime.

Summary

Functions

Returns enum values as {label, value} tuples — used for form select fields.

Returns the enum list as a list of strings.

Registers an enum under a given name (replaces previous if exists).

Starts the ETS table if not already started. Works in supervision trees.

Types

enum_list()

@type enum_list() :: [enum_value()]

enum_name()

@type enum_name() :: atom()

enum_value()

@type enum_value() :: atom()

Functions

child_spec(opts)

labeled_options(name)

Returns enum values as {label, value} tuples — used for form select fields.

options(name)

Returns the enum list as a list of strings.

Example

iex> Enum.register(:status, [:active, :inactive])
:ok
iex> Enum.options(:status)
["active", "inactive"]

register(name, values)

Registers an enum under a given name (replaces previous if exists).

start_link(_)

Starts the ETS table if not already started. Works in supervision trees.