# `Skuld.Effects.State.Change`
[🔗](https://github.com/mccraigmccraig/skuld/blob/main/lib/skuld/effects/state/change.ex#L1)

Represents a state change with old and new values.

Used by State.put and TaggedState.put to return both the previous
and updated state values. JSON-serializable for EffectLogger compatibility.

## Example

    %Change{old: 0, new: 42}

# `t`

```elixir
@type t() :: %Skuld.Effects.State.Change{new: any(), old: any()}
```

# `from_json`

```elixir
@spec from_json(map()) :: t()
```

Reconstruct a Change from decoded JSON map.

# `new`

```elixir
@spec new(any(), any()) :: t()
```

Create a new Change struct.

---

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