{"_id":"watch-file-safe","_rev":"2-8f69a38245747e698a42421ffc712bab","name":"watch-file-safe","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"watch-file-safe","version":"1.0.0","description":"Watch a file for changes","license":"MIT","author":{"name":"Connor White","email":"connor.bcw@gmail.com","url":"https://connorwhite.org"},"homepage":"https://connorwhite.org/github/watch-file-safe","repository":{"type":"git","url":"git+https://github.com/bconnorwhite/watch-file-safe.git"},"keywords":["watch","file","safe","for","changes","fs-safe","chokidar"],"main":"./build/index.js","scripts":{"build":"bob build","commit":"bob commit","lint":"bob lint","release":"bob publish","test":"bob test"},"dependencies":{"chokidar":"^3.4.2"},"devDependencies":{"@bconnorwhite/bob":"^2.9.2"},"eslintConfig":{"extends":"eslint-config-bob"},"husky":{"hooks":{"commit-msg":"bob lint commit"}},"npmpackagejsonlint":{"extends":"npm-package-json-lint-config-bob"},"_id":"watch-file-safe@1.0.0","dist":{"shasum":"64d31db97d564a8609b1a528532a0c32cf3a3ee6","integrity":"sha512-+JBSW2tZlgavsdXHQXRd6bxpwkBhXe3MsA0W6Q7vKkQYRp9GXXB7I8njo8YjPPYv9QR3yWomxp6JrLzanLOwiA==","tarball":"https://registry.npmjs.org/watch-file-safe/-/watch-file-safe-1.0.0.tgz","fileCount":7,"unpackedSize":6254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfeToOCRA9TVsSAnZWagAAdyUQAILD6Uqg2/I3uE7I3kfN\nOBf0W/U1BMt2C8y1CYwMt1mU88OeCKp1NiVOrO+88FuMmNhRKKayC0EENcax\nRzXQVjRsJuRTEHvQnLQ6yHlgEjpfLBS/k+EI6dCI27pNrRKq8mXclV6Cm7Jj\nlp+vhLmefZ1Lr9ejzdWfZsM/0rdJ9j/USZCJ6mwtPsKjNkvezBm2M+DYL/gw\nGLa7A6YbYOQYHBhJCkRWm9p/q88SClk0x9Yr95JhQs6QHaINxlHm3M4jBwp8\nONjJ/nJdj/PkMuGe471ixidEYXhxlvsx8EiUKuCLBRtACZs4gKHAf7xO8xaY\nSgDOK4JgBz2rZqoOfWp/jGda1BdXCyLvqy3HQzul1ri3UBr96NAuu5HXbjam\nyTz9rzqosv+L/LHNANrGR1JSBlrOatZRWdUtnn8bfl52Tpz23ehU6eVctBaL\nqsv8AhF9Gy6ENAItVus8Q+tC4eWTI8a801Z1lKOtOUxkDDVJkMwLfIX7QqsO\n1WLN/nzZPqGJPxJ00w8QSubuKYVpp9MUu7HJoYKXvhuJIJ8orEuX97cllr/b\nbC4hyFsUIszbmKGLg2pjad9yKwvwiyDjQm778QsHGPivslFZd7V1ALTTsiDV\n/OF2MIdk+lDjzMojgqgaT4p9mSl31SBGKvKHugkqtWeUFzpllXBczdKvJQDJ\na2TC\r\n=6doa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWMrTLU8lYsp/pLyXBjje05rqF7+XGADPGgGrig9//WgIgNbJViSHm/EqkjgN6VvBquvfStsRRJVt2KIR3DhJ1OhA="}]},"maintainers":[{"name":"bconnorwhite","email":"connor.bcw@gmail.com"}],"_npmUser":{"name":"bconnorwhite","email":"connor.bcw@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/watch-file-safe_1.0.0_1601780238139_0.48309626785542603"},"_hasShrinkwrap":false},"1.0.1":{"name":"watch-file-safe","version":"1.0.1","description":"Watch a file for changes","license":"MIT","author":{"name":"Connor White","email":"connor.bcw@gmail.com","url":"https://connorwhite.org"},"homepage":"https://connorwhite.org/github/watch-file-safe","repository":{"type":"git","url":"git+https://github.com/bconnorwhite/watch-file-safe.git"},"keywords":["watch","file","safe","for","changes","fs-safe","chokidar"],"main":"./build/index.js","scripts":{"build":"bob build","commit":"bob commit","lint":"bob lint","release":"bob publish","test":"bob test"},"dependencies":{"chokidar":"^3.4.2"},"devDependencies":{"@bconnorwhite/bob":"^2.9.2"},"eslintConfig":{"extends":"eslint-config-bob"},"husky":{"hooks":{"commit-msg":"bob lint commit"}},"npmpackagejsonlint":{"extends":"npm-package-json-lint-config-bob"},"_id":"watch-file-safe@1.0.1","dist":{"shasum":"93b80352c0a5c9626751b2f4b7c587704b700c34","integrity":"sha512-3q0PNu8cQEFMcYAV17tKBQQ2o7rId7M6CZZRBkaczvC4p4XQX3J7V0Sb4QMhJwB207D3bOhg6pk1ipyh/zfyIQ==","tarball":"https://registry.npmjs.org/watch-file-safe/-/watch-file-safe-1.0.1.tgz","fileCount":7,"unpackedSize":6552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfegp+CRA9TVsSAnZWagAAIAYP/2tHNy2cCksShyZuS1vV\nsnovoLLvqe6piAW6jZoDKAGkkqsbGwVta6wj6BWpfMHiaO6SXopzg6gOS72n\nWQE+QRHjxJjeNPXJw8cIndh1eDMfmeYidkNqGQXNeKSNkOyJSeXto3e9Ysij\nc6mWcRLAkMe3TvpIvud1No2VvTAB67HYES/1DCEJjygQUY1GZYwbyjNdsE7P\nK4vtRhJcKn9PQF+gsLyHh3DhJDSIq+hG8NnNLAWP2NON6vfNi02+AAUb9FCv\nZ8IzMLiyUZGpboIXPtzTxmfD7S9W44KmAscEFYDJRRKxFL6ZsJLzODKqjdLt\nLm7LWFJ+e24UT4iTjuxGN4LoOd3nt5gxrGk6UO62FPQ2NbDokvAeqY6Yhue0\ncy0MsI3PlzUfOpm+ahGxgTig9ivafZmX+kF3KAlZ9IBh2V0Zr+Sn1JxiIhrh\nzs8DJBFWP5wlo6Vmxy6ivUKINbVqv9zwiaif7Tr7uLrpBqofWhvSRCSd683S\ny8Avfx02eF+h9g0wY9otvu7JH0enn+YFIlTd5XJaa4PUuqv6jXeclTbRXxUG\nyPziYfsqs2ieie9KwvmKYBA+en/UpunuxsMouqu/9XKvX8kXleIq2CkbfhLt\niYh0QT7nj4aqPCSmFOL9SwTA37VqloceWC47ADEuVh1biJh70cbY6Jdv9Khm\nBgl7\r\n=pVX8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMawYvcbDlMburE3hkd0ErF0VFVGnFnwTX2x7MG71Y7wIgBZPzCHDI76JPAvtjh5uo+eqmRKjjzriLgfHeZfUAFmI="}]},"maintainers":[{"name":"bconnorwhite","email":"connor.bcw@gmail.com"}],"_npmUser":{"name":"bconnorwhite","email":"connor.bcw@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/watch-file-safe_1.0.1_1601833598043_0.006750180201862133"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-04T02:57:18.139Z","1.0.0":"2020-10-04T02:57:18.301Z","modified":"2022-05-24T01:54:48.599Z","1.0.1":"2020-10-04T17:46:38.278Z"},"maintainers":[{"name":"bconnorwhite","email":"connor.bcw@gmail.com"}],"description":"Watch a file for changes","homepage":"https://connorwhite.org/github/watch-file-safe","keywords":["watch","file","safe","for","changes","fs-safe","chokidar"],"repository":{"type":"git","url":"git+https://github.com/bconnorwhite/watch-file-safe.git"},"author":{"name":"Connor White","email":"connor.bcw@gmail.com","url":"https://connorwhite.org"},"license":"MIT","readme":"<div align=\"center\">\n  <a href=\"https://github.com/bconnorwhite/write-file-safe\">\n    <img alt=\"write-file-safe\" src=\"assets/header.svg\" />\n  </a>\n  <a href=\"https://npmjs.com/package/watch-file-safe\">\n    <img alt=\"NPM\" src=\"https://img.shields.io/npm/v/watch-file-safe.svg\">\n  </a>\n  <a href=\"https://github.com/bconnorwhite/watch-file-safe\">\n    <img alt=\"TypeScript\" src=\"https://img.shields.io/github/languages/top/bconnorwhite/watch-file-safe.svg\">\n  </a>\n  <a href='https://coveralls.io/github/bconnorwhite/watch-file-safe?branch=master'>\n    <img alt=\"Coverage Status\" src=\"https://img.shields.io/coveralls/github/bconnorwhite/watch-file-safe.svg?branch=master\">\n  </a>\n  <a href=\"https://github.com/bconnorwhite/watch-file-safe\">\n    <img alt=\"GitHub Stars\" src=\"https://img.shields.io/github/stars/bconnorwhite/watch-file-safe?label=Stars%20Appreciated%21&style=social\">\n  </a>\n  <a href=\"https://twitter.com/bconnorwhite\">\n    <img alt=\"Twitter Follow\" src=\"https://img.shields.io/twitter/follow/bconnorwhite.svg?label=%40bconnorwhite&style=social\">\n  </a>\n</div>\n\n<br />\n\n> Watch a file for changes.\n\nProvides a simplified wrapper around [chokidar](https://www.npmjs.com/package/chokidar) for watching a file.\n\n## Installation\n\n```sh\nyarn add watch-file-safe\n```\n\n```sh\nnpm install watch-file-safe\n```\n\n## API\n\n### Usage\n```ts\nimport watchFile from \"watch-file-safe\";\n\nconst watcher = watchFile(\"/path/to/file.txt\");\n\nwatcher.onReady(() => {\n  console.log(`Ready`);\n}).onAdd((path: string) => {\n  console.log(`Added ${path}`);\n}).onChange((path: string) => {\n  console.log(`Changed ${path}`);\n}).onRemove((path: string) => {\n  console.log(`Removed ${path}`);\n});\n\n// To stop watching:\nwatcher.stop();\n```\n\n### Types\n```ts\nimport watchFile, { Watcher, EventCallback } from \"watch-file-safe\";\n\nfunction watchFile(path: string): Watcher;\n\ntype EventCallback = (path: string) => void;\n\ntype Watcher = {\n  onAdd: (cb: EventCallback) => Watcher;\n  onRemove: (cb: EventCallback) => Watcher;\n  onChange: (cb: EventCallback) => Watcher;\n  onReady: (cb: () => void) => Watcher;\n  stop: () => Promise<boolean>;\n}\n```\n\n<br />\n\n<h2>Dependencies<img align=\"right\" alt=\"dependencies\" src=\"https://img.shields.io/david/bconnorwhite/watch-file-safe.svg\"></h2>\n\n- [chokidar](https://www.npmjs.com/package/chokidar): A neat wrapper around node.js fs.watch / fs.watchFile / fsevents.\n\n<br />\n\n<h2>Dev Dependencies<img align=\"right\" alt=\"David\" src=\"https://img.shields.io/david/dev/bconnorwhite/watch-file-safe.svg\"></h2>\n\n- [@bconnorwhite/bob](https://www.npmjs.com/package/@bconnorwhite/bob): Bob is a toolkit for TypeScript projects\n\n<br />\n\n<h2>License <img align=\"right\" alt=\"license\" src=\"https://img.shields.io/npm/l/watch-file-safe.svg\"></h2>\n\n[MIT](https://opensource.org/licenses/MIT)\n\n<br />\n\n## Related Packages\n\n- [fs-safe](https://www.npmjs.com/package/fs-safe): A simple fs wrapper that doesn't throw\n- [watch-dir-safe](https://www.npmjs.com/package/watch-dir-safe): Watch a directory for changes\n- [read-file-safe](https://www.npmjs.com/package/read-file-safe): Read files without try catch\n- [write-file-safe](https://www.npmjs.com/package/write-file-safe): Write files, and parent directories if necessary\n- [remove-file-safe](https://www.npmjs.com/package/remove-file-safe): Remove a file without try catch\n","readmeFilename":"README.md"}