# `Tinkex.Transform`
[🔗](https://github.com/North-Shore-AI/tinkex/blob/v0.4.0/lib/tinkex/transform.ex#L1)

Lightweight serialization helpers for request payloads.

- Drops `Tinkex.NotGiven`/`Tinkex.NotGiven.omit/0` sentinels
- Applies key aliases and simple formatters (e.g., ISO8601 timestamps)
- Recurses through maps, structs, and lists while stringifying keys

# `format`

```elixir
@type format() :: :iso8601 | (term() -&gt; term())
```

# `opts`

```elixir
@type opts() :: [aliases: map(), formats: map(), drop_nil?: boolean()]
```

# `transform`

```elixir
@spec transform(term(), opts()) :: term()
```

Transform a payload into a JSON-friendly map.

- Keys are stringified and alias mappings are applied
- `NotGiven`/`omit` sentinels are removed
- Optional formatters can be attached per key (`:iso8601` or a unary function)

---

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