Skip to content

Module Fs.Watch

type t
type config
val config : 
  ?persistent:bool ->
  ?recursive:bool ->
  ?encoding:Js.String.t ->
  unit ->
  config
val 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

val on : 
  t ->
  f:
    [ `change of (string -> Node.string_buffer -> unit) Js.Fn.arity2
    | `error of unit Js.Fn.arity0 ] ->
  t
val close : t -> unit