# `ExWapp.Store.Codec`
[🔗](https://github.com/elchemista/ex_wapp/blob/v0.1.5/lib/ex_wapp/store/codec.ex#L1)

Versioned codec for persisted ExWapp store data.

The codec writes a gzipped JSON envelope with explicit type tags so session
state survives cold boots without depending on raw BEAM term decoding.

# `decode_result`

```elixir
@type decode_result() :: {:ok, map()} | {:error, :unknown_codec | :invalid_store_blob}
```

# `decode`

```elixir
@spec decode(binary()) :: decode_result()
```

# `encode`

```elixir
@spec encode(map()) :: {:ok, binary()} | {:error, term()}
```

# `encoded?`

```elixir
@spec encoded?(binary()) :: boolean()
```

---

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