defer.ts 223 B

12345678910
  1. export function defer(fn: () => void | Promise<void>): AsyncDisposable & Disposable {
  2. return {
  3. [Symbol.dispose]() {
  4. void fn()
  5. },
  6. [Symbol.asyncDispose]() {
  7. return Promise.resolve(fn())
  8. },
  9. }
  10. }