()
| 693 | |
| 694 | // Polyfill for `Promise.withResolvers`. |
| 695 | function withResolverPromise<T>(): { |
| 696 | promise: Promise<T>; |
| 697 | resolve: (v: T) => void; |
| 698 | reject: (v: unknown) => void; |
| 699 | } { |
| 700 | let resolve!: (v: T) => void; |
| 701 | let reject!: (v: unknown) => void; |
| 702 | |
| 703 | const promise = new Promise<T>((res, rej) => { |
| 704 | resolve = res; |
| 705 | reject = rej; |
| 706 | }); |
| 707 | return {promise, resolve, reject}; |
| 708 | } |