diff options
author | 2023-09-05 17:41:39 -0700 | |
---|---|---|
committer | 2023-09-05 17:41:39 -0700 | |
commit | acfd028e8f859a0e8139b7adab5d319e326c2373 (patch) | |
tree | f6bf98b2e40fcbcc036348bf7e0556e9edfa3b4e /src/bun.js/node/node.classes.ts | |
parent | 6f8a3934923198cbadae64cda24201e2de2655c1 (diff) | |
download | bun-acfd028e8f859a0e8139b7adab5d319e326c2373.tar.gz bun-acfd028e8f859a0e8139b7adab5d319e326c2373.tar.zst bun-acfd028e8f859a0e8139b7adab5d319e326c2373.zip |
feat(runtime): Implement `fs.watchFile` (#4467)
* really lame prototype
* uses threads but badly
* it works i guess
* unwatchFile but lame
* it works
* test
* a
* aomitcs
* fix unwatching race condition
* use hasPendingActivity and GC stuff better
* test
* revert this
Diffstat (limited to 'src/bun.js/node/node.classes.ts')
-rw-r--r-- | src/bun.js/node/node.classes.ts | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/bun.js/node/node.classes.ts b/src/bun.js/node/node.classes.ts index 695a58d5e..46c25ad06 100644 --- a/src/bun.js/node/node.classes.ts +++ b/src/bun.js/node/node.classes.ts @@ -31,6 +31,31 @@ export default [ values: ["listener"], }), define({ + name: "StatWatcher", + construct: false, + noConstructor: true, + finalize: true, + configurable: false, + hasPendingActivity: true, + klass: {}, + JSType: "0b11101110", + proto: { + ref: { + fn: "doRef", + length: 0, + }, + unref: { + fn: "doUnref", + length: 0, + }, + close: { + fn: "doClose", + length: 0, + }, + }, + values: ["listener"], + }), + define({ name: "Timeout", construct: false, noConstructor: true, @@ -471,15 +496,13 @@ export default [ symlinkSync: { fn: "symlinkSync", length: 3 }, truncate: { fn: "truncate", length: 3 }, truncateSync: { fn: "truncateSync", length: 2 }, - // TODO: - // unwatchFile: { fn: "unwatchFile", length: 2 }, + unwatchFile: { fn: "unwatchFile", length: 2 }, unlink: { fn: "unlink", length: 2 }, unlinkSync: { fn: "unlinkSync", length: 1 }, utimes: { fn: "utimes", length: 4 }, utimesSync: { fn: "utimesSync", length: 3 }, watch: { fn: "watch", length: 3 }, - // TODO: - // watchFile: { fn: "watchFile", length: 3 }, + watchFile: { fn: "watchFile", length: 3 }, writeFile: { fn: "writeFile", length: 4 }, writeFileSync: { fn: "writeFileSync", length: 3 }, write: { fn: "write", length: 6 }, |