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

Helpers for Kiwi chunk containers with an 8-byte magic and little-endian chunk lengths.

# `parsed`

```elixir
@type parsed() :: %{magic: binary(), version: non_neg_integer(), chunks: [binary()]}
```

# `build`

```elixir
@spec build(
  [iodata()],
  keyword()
) :: binary()
```

# `chunk`

```elixir
@spec chunk(binary(), non_neg_integer(), binary()) :: binary()
```

Returns one raw chunk from a Kiwi container without parsing later chunks.

Chunk indexes are zero-based.

# `data`

```elixir
@spec data(binary(), binary()) :: binary()
```

Returns the inflated data chunk from a Kiwi container.

This is useful for callers that only need the payload and want to avoid
inflating or decoding the schema chunk.

# `data`

```elixir
@spec data(binary(), binary(), (binary() -&gt; binary())) :: binary()
```

Returns the data chunk inflated with a caller-provided inflater.

# `deflate`

```elixir
@spec deflate(iodata()) :: binary()
```

# `inflate`

```elixir
@spec inflate(binary()) :: binary()
```

# `parse`

```elixir
@spec parse(binary(), binary()) :: parsed()
```

Parses all chunks from a Kiwi container.

---

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