()
| 252 | } |
| 253 | |
| 254 | #createLock<T>(): { |
| 255 | lock: Promise<void>; |
| 256 | releaseLock: () => void; |
| 257 | error: (x: T) => void; |
| 258 | } { |
| 259 | let releaseLock: () => void; |
| 260 | let error: (x: T) => void; |
| 261 | const lock = new Promise<void>((resolve, reject) => { |
| 262 | releaseLock = () => resolve(); |
| 263 | error = (x: T) => reject(x); |
| 264 | }); |
| 265 | return { lock, releaseLock: releaseLock!, error: error! }; |
| 266 | } |
| 267 | |
| 268 | /** |
| 269 | * Creates a {@linkcode ReadableStream} from a {@linkcode Request} or |