Module Node_fs.Watch

type t;
type config;
let config: ?persistent:bool => ?recursive:bool => ?encoding:Js_string.t => unit => config;
let watch: string => ?config:config => unit => t;

there 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

let on: [ `change(Js.Fn.arity2((string => Node.string_buffer => unit))) | `error(Js.Fn.arity0(unit)) ] => t => t;
  • deprecated Please use `Node.Fs.on_` instead
let on_: t => [ `change(Js.Fn.arity2((string => Node.string_buffer => unit))) | `error(Js.Fn.arity0(unit)) ] => t;
let close: t => unit;