foxts
Version:
Opinionated collection of common TypeScript utils by @SukkaW
1 lines • 482 B
JavaScript
class e extends Promise{executor;promise;constructor(e){super(e=>e()),this.executor=e}static from(r){return new e(e=>{e(r())})}static resolve(r){return new e(e=>e(r))}static reject(r){return new e((e,t)=>t(r))}then(e,r){return this.promise??=new Promise(this.executor),this.promise.then(e,r)}catch(e){return this.promise??=new Promise(this.executor),this.promise.catch(e)}finally(e){return this.promise??=new Promise(this.executor),this.promise.finally(e)}}export{e as LazyPromise};