stack: effectify-file-watcher-service (#17827)

This commit is contained in:
Kit Langton
2026-03-16 13:18:40 -04:00
committed by GitHub
parent d4694d058c
commit 9e740d9947
10 changed files with 477 additions and 156 deletions

View File

@@ -101,6 +101,15 @@ export const Instance = {
if (Instance.worktree === "/") return false
return Filesystem.contains(Instance.worktree, filepath)
},
/**
* Captures the current instance ALS context and returns a wrapper that
* restores it when called. Use this for callbacks that fire outside the
* instance async context (native addons, event emitters, timers, etc.).
*/
bind<F extends (...args: any[]) => any>(fn: F): F {
const ctx = context.use()
return ((...args: any[]) => context.provide(ctx, () => fn(...args))) as F
},
state<S>(init: () => S, dispose?: (state: Awaited<S>) => Promise<void>): () => S {
return State.create(() => Instance.directory, init, dispose)
},