11 lines
223 B
TypeScript
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())
|
|
},
|
|
}
|
|
}
|