# `Bourse.WS.Semantics.Orderbook`
[🔗](https://github.com/ZenHive/bourse/blob/main/lib/bourse/ws/semantics/orderbook.ex#L1)

Orderbook snapshot/delta state driven by `websocket.orderbook_semantics`.

# `t`

```elixir
@type t() :: %Bourse.WS.Semantics.Orderbook{
  apply_mode: String.t(),
  books: %{required(String.t()) =&gt; map()},
  checksum_present: boolean(),
  delta_values: [String.t()],
  discriminator_field: String.t() | nil,
  sequence_fields: [String.t()],
  snapshot_values: [String.t()]
}
```

# `apply`

```elixir
@spec apply(t(), String.t(), term()) :: {t(), map() | nil}
```

Applies a routed orderbook payload and returns updated state + book snapshot.

# `new`

```elixir
@spec new(Bourse.Exchange.t()) :: t()
```

Builds state from exchange spec semantics.

---

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