# `TimeZoneInfo.Listener`
[🔗](https://github.com/hrzndhrn/time_zone_info/blob/main/lib/time_zone_info/listener.ex#L1)

A `behaviour` for `TimeZoneInfo` listeners.

# `on_update`

```elixir
@callback on_update(step :: atom() | {:error, term()}) :: :ok | :undefined
```

A callback to listen on the update process.

Possible events:
- `:initial` initializing data.
- `:check` checking whether an update is necessary.
- `:force` an update is forced.
- `:download` downloads data.
- `:update` updating data.
- `:disabled` updating data is disabled.
- `{:error, reason}`

---

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