https://github.com/blackglory/extra-watcher
🌿
https://github.com/blackglory/extra-watcher
library nodejs npm-package typescript
Last synced: 4 months ago
JSON representation
🌿
- Host: GitHub
- URL: https://github.com/blackglory/extra-watcher
- Owner: BlackGlory
- License: mit
- Created: 2022-03-25T09:21:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-13T13:47:49.000Z (about 1 year ago)
- Last Synced: 2025-08-26T02:24:28.119Z (11 months ago)
- Topics: library, nodejs, npm-package, typescript
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/extra-watcher
- Size: 433 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# extra-watcher
## Install
```sh
npm install --save extra-watcher
# or
yarn add extra-watcher
```
## API
### DirectoryWatcher
```ts
type Event =
| ICreatedEvent
| IModifiedEvent
| IDeletedEvent
interface ICreatedEvent {
type: 'created'
target: Target
pathname: string
}
interface IModifiedEvent {
type: 'modified'
target: Target.File
pathname: string
}
interface IDeletedEvent {
type: 'deleted'
target: Target
pathname: string
}
enum Target {
File = 'file'
, Directory = 'directory'
}
class DirectoryWatcher {
events: readonly Event[]
constructor(dirname: string)
observe(): Observable
start(): Promise
stop(): void
reset(): void
isChanged(): boolean
isFileCreated(filename: string): boolean
isDirectoryCreated(dirname: string): boolean
isFileModified(filename: string): boolean
isDirectoryModified(dirname: string): boolean
isFileDeleted(filename: string): boolean
isDirectoryDeleted(dirname: string): boolean
}
```
DirectoryWatcher based on event sourcing, `reset` can clear events.
A watcher can only be started and stopped once.
The following method checks "whether this condition is eventually true",
not "whether this event has occurred":
- `isFileCreated`
- `isDirectoryCreated`
- `isFileModified`
- `isDirectoryModified`
- `isFileDeleted`
- `isDirectoryDeleted`
### FileWatcher
```ts
type Event =
| ICreatedEvent
| IModifiedEvent
| IDeletedEvent
interface ICreatedEvent {
type: 'created'
}
interface IModifiedEvent {
type: 'modified'
}
interface IDeletedEvent {
type: 'deleted'
}
class FileWatcher {
events: readonly Event[]
constructor(filename: string)
observe(): Observable
start(): Promise
stop(): void
reset(): void
isChanged(): boolean
isCreated(): boolean
isModified(): boolean
isDeleted(): boolean
}
```
FileWatcher based on event sourcing, `reset` can clear events.
A watcher can only be started and stopped once.
The following method checks "whether this condition is eventually true",
not "whether this event has occurred":
- `isCreated`
- `isModified`
- `isDeleted`