Fs.Watchval config :
?persistent:bool ->
?recursive:bool ->
?encoding:Js.String.t ->
unit ->
configthere is no need to accept listener, since we return a watcher back it can register event listener there. Currently we introduce a type string_buffer, for the filename, it will be Buffer when the encoding is `utf8. This is dependent type which can be tracked by GADT in some way, but to make things simple, let's just introduce an or type
val on :
t ->
f:
[ `change of (string -> Node.string_buffer -> unit) Js.Fn.arity2
| `error of unit Js.Fn.arity0 ] ->
tval close : t -> unit