# `KiwiCodec.PrimitiveType`
[🔗](https://github.com/open-pencil/kiwi_codec/blob/v0.7.0/lib/kiwi_codec/primitive_type.ex#L1)

Kiwi primitive type metadata.

This module is the source of truth for primitive type names used by parsed
schemas, generated Elixir modules, runtime encoding, and binary schema type
indexes.

# `atom_name`

```elixir
@type atom_name() :: atom()
```

# `name`

```elixir
@type name() :: String.t()
```

# `atom?`

```elixir
@spec atom?(term()) :: boolean()
```

# `atoms`

```elixir
@spec atoms() :: [atom_name()]
```

# `binary_schema_index`

```elixir
@spec binary_schema_index(name() | nil) :: non_neg_integer() | nil
```

# `binary_schema_name!`

```elixir
@spec binary_schema_name!(non_neg_integer()) :: name()
```

# `name?`

```elixir
@spec name?(term()) :: boolean()
```

# `names`

```elixir
@spec names() :: [name()]
```

# `to_atom!`

```elixir
@spec to_atom!(name()) :: atom_name()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
