(reader)
| 2323 | // (readableStreamClose/Error, readableStreamReaderGenericRelease) |
| 2324 | // only touch the record when it has been materialized. |
| 2325 | function readerClosedPromise(reader) { |
| 2326 | let close = reader[kState].close; |
| 2327 | if (close === undefined) { |
| 2328 | const stream = reader[kState].stream; |
| 2329 | if (stream === undefined) { |
| 2330 | close = { |
| 2331 | promise: PromiseReject(lazyReadableReleasedError()), |
| 2332 | resolve: undefined, |
| 2333 | reject: undefined, |
| 2334 | }; |
| 2335 | setPromiseHandled(close.promise); |
| 2336 | } else { |
| 2337 | switch (stream[kState].state) { |
| 2338 | case 'readable': |
| 2339 | close = PromiseWithResolvers(); |
| 2340 | break; |
| 2341 | case 'closed': |
| 2342 | close = { |
| 2343 | promise: PromiseResolve(), |
| 2344 | resolve: undefined, |
| 2345 | reject: undefined, |
| 2346 | }; |
| 2347 | break; |
| 2348 | case 'errored': |
| 2349 | close = { |
| 2350 | promise: PromiseReject(stream[kState].storedError), |
| 2351 | resolve: undefined, |
| 2352 | reject: undefined, |
| 2353 | }; |
| 2354 | setPromiseHandled(close.promise); |
| 2355 | break; |
| 2356 | } |
| 2357 | } |
| 2358 | reader[kState].close = close; |
| 2359 | } |
| 2360 | return close; |
| 2361 | } |
| 2362 | |
| 2363 | function readableStreamDefaultReaderRelease(reader) { |
| 2364 | readableStreamReaderGenericRelease(reader); |
no test coverage detected
searching dependent graphs…