A very dead-simple trivial Deferred implementation


// hybrid module, either esm or cjs styles work
import { Deferred } from 'trivial-deferred'
// or
const { Deferred } = require('trivial-deferred')
// or even
import { Deferred } from ''

// type defaults to `unknown`, just like Promise<T>
// set to <void> to make TypeScript ok with calling d.resolve()
// with no argument.
const d = new Deferred<string>()
// promise is d.promise
// to make the promise reject, do d.reject(error)
// to make the promise resolve, do d.resolve(value)
d.resolve('a string')
assert.equal(await d.promise, 'a string')

That's about it!

Generated using TypeDoc