txt: ## change.md
  class IO::Notification::Change
  
  Changes in a file, produced by watch-file
  
  ```raku
  class IO::Notification::Change {}
  ```
  
  `IO::Notification.watch-path($path)` as well as [`IO::Path.watch`](/type/IO/Path#method_watch) produce a [`Supply`](/type/Supply) of `IO::Notification::Change` events for a file or directory, depending on what is used as the `$path` argument or [`IO::Path`](/type/IO/Path) object.
  
  Here is a small example that prints the first ten `FileChanged`-notifications for the current working directory:
  
  ```raku
  my $finish = Promise.new;
  my $count = 0;
  IO::Notification.watch-path($*CWD).act( -> $change {
      $count++ if $change.event ~~ FileChanged;
      say "($count) $change.path(): $change.event()";
      $finish.keep if $count >= 10;
  });
  await $finish;
  
  ```
  
  The type of the change is very much dependent both on the platform and on specific system calls that were used to initiate the change. At this point in time you should not rely on the type of change in general, and test your particular situation.
  
  # [Methods](#class_IO::Notification::Change "go to top of document")[§](#Methods "direct link")
  
  ## [method path](#class_IO::Notification::Change "go to top of document")[§](#method_path "direct link")
  
  Returns the path of the file that's being watched.
  
  ## [method event](#class_IO::Notification::Change "go to top of document")[§](#method_event "direct link")
  
  Returns the type of event: `FileChanged` or `FileRenamed`.
  
  ## [method IO](#class_IO::Notification::Change "go to top of document")[§](#method_IO "direct link")
  
  Returns a handle of the file that's being watched.
  
  ## [method gist](#class_IO::Notification::Change "go to top of document")[§](#method_gist "direct link")
  
  ```raku
  multi method gist(IO::Notification::Change:D:)
  ```
  
  Returns the path and event attributes, separated by semicolon.
  