Jerko Steiner 8c732ba91e Install eslint and fix errors
- argparse
- scripts
- tasq
- validator
2019-09-15 15:57:22 +07:00

24 lines
589 B
TypeScript

export interface Deferred<T> {
resolve(result: T | PromiseLike<T> | undefined): void
reject(err: Error): void
}
export class DeferredPromise<T> implements Deferred<T> {
readonly resolve: (result: T | PromiseLike<T> | undefined) => void
readonly reject!: (err: Error) => void
readonly promise!: Promise<T>
constructor() {
let res: (result: T | PromiseLike<T> | undefined) => void
let rej: (err: Error) => void
this.promise = new Promise<T>((resolve, reject) => {
res = resolve
rej = reject
})
this.resolve = res!
this.reject = rej!
}
}