# `Apero.File.Watcher`
[🔗](https://github.com/Lorenzo-SF/apero/blob/3.0.0/lib/apero/file/watcher.ex#L1)

File system watcher GenServer.

This is a pure OTP GenServer that wraps `file_system` for watching
file changes. The `watch/3` convenience function moved to `Trebejo.File`
in v3.0.0 because it depends on `Arrea.WorkerSupervisor`, but this
GenServer remains in Apero.

You normally use `Trebejo.File.watch/3` rather than instantiating this
directly.

# `callback`

```elixir
@type callback() :: ([{binary(), [event()]}] -&gt; any())
```

# `event`

```elixir
@type event() ::
  :modified | :created | :deleted | :renamed | :isdir | :attribute | atom()
```

# `start_link`

```elixir
@spec start_link(keyword() | map()) :: GenServer.on_start()
```

---

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