@ -109,14 +109,19 @@ non-UTF-8 encoded Buffers to `fs` functions will not work as expected.
added: v0.5.8
added: v0.5.8
-->
-->
Objects returned from `fs.watch()` are of this type.
Objects returned from [`fs.watch()`][] are of this type.
The `listener` callback provided to `fs.watch()` receives the returned FSWatcher's
`change` events.
The object itself emits these events:
### Event: 'change'
### Event: 'change'
<!-- YAML
<!-- YAML
added: v0.5.8
added: v0.5.8
-->
-->
* `event` {String} The type of fs change
* `eventType ` {String} The type of fs change
* `filename` {String | Buffer} The filename that changed (if relevant/available)
* `filename` {String | Buffer} The filename that changed (if relevant/available)
Emitted when something changes in a watched directory or file.
Emitted when something changes in a watched directory or file.
@ -128,7 +133,8 @@ support. If `filename` is provided, it will be provided as a `Buffer` if
`filename` will be a string.
`filename` will be a string.
```js
```js
fs.watch('./tmp', {encoding: 'buffer'}, (event, filename) => {
// Example when handled through fs.watch listener
fs.watch('./tmp', {encoding: 'buffer'}, (eventType, filename) => {
if (filename)
if (filename)
console.log(filename);
console.log(filename);
// Prints: < Buffer . . . >
// Prints: < Buffer . . . >
@ -1443,10 +1449,13 @@ directory. The returned object is a [`fs.FSWatcher`][].
The second argument is optional. If `options` is provided as a string, it
The second argument is optional. If `options` is provided as a string, it
specifies the `encoding` . Otherwise `options` should be passed as an object.
specifies the `encoding` . Otherwise `options` should be passed as an object.
The listener callback gets two arguments `(event, filename)` . `event` is either
The listener callback gets two arguments `(eventType , filename)` . `eventType ` is either
`'rename'` or `'change'` , and `filename` is the name of the file which triggered
`'rename'` or `'change'` , and `filename` is the name of the file which triggered
the event.
the event.
Please note the listener callback is attached to the `'change'` event
fired by [`fs.FSWatcher`][], but they are not the same thing.
### Caveats
### Caveats
<!-- type=misc -->
<!-- type=misc -->
@ -1499,8 +1508,8 @@ be provided. Therefore, don't assume that `filename` argument is always
provided in the callback, and have some fallback logic if it is null.
provided in the callback, and have some fallback logic if it is null.
```js
```js
fs.watch('somedir', (event, filename) => {
fs.watch('somedir', (eventType , filename) => {
console.log(`event is: ${event}`);
console.log(`event type is: ${eventType }`);
if (filename) {
if (filename) {
console.log(`filename provided: ${filename}`);
console.log(`filename provided: ${filename}`);
} else {
} else {