Files
zmo-cli/packages/opencode/src/util/defer.ts

11 lines
223 B
TypeScript

export function defer(fn: () => void | Promise<void>): AsyncDisposable & Disposable {
return {
[Symbol.dispose]() {
void fn()
},
[Symbol.asyncDispose]() {
return Promise.resolve(fn())
},
}
}