(
ctx: &Ctx<'js>,
mut objects: ReadableStreamDefaultReaderObjects<'js, Self>,
read_request: impl ReadableStreamReadRequest<'js> + 'js,
)
| 699 | } |
| 700 | |
| 701 | fn pull_steps( |
| 702 | ctx: &Ctx<'js>, |
| 703 | mut objects: ReadableStreamDefaultReaderObjects<'js, Self>, |
| 704 | read_request: impl ReadableStreamReadRequest<'js> + 'js, |
| 705 | ) -> Result<ReadableStreamDefaultReaderObjects<'js, Self>> { |
| 706 | // If this.[[queue]] is not empty, |
| 707 | if !objects.controller.container.queue.is_empty() { |
| 708 | // Let chunk be ! DequeueValue(this). |
| 709 | let chunk = objects.controller.container.dequeue_value(); |
| 710 | // If this.[[closeRequested]] is true and this.[[queue]] is empty, |
| 711 | if objects.controller.close_requested && objects.controller.container.queue.is_empty() { |
| 712 | // Perform ! ReadableStreamDefaultControllerClearAlgorithms(this). |
| 713 | objects |
| 714 | .controller |
| 715 | .readable_stream_default_controller_clear_algorithms(); |
| 716 | // Perform ! ReadableStreamClose(stream). |
| 717 | objects = ReadableStream::readable_stream_close(ctx.clone(), objects)?; |
| 718 | } else { |
| 719 | // Otherwise, perform ! ReadableStreamDefaultControllerCallPullIfNeeded(this). |
| 720 | objects = |
| 721 | ReadableStreamDefaultController::readable_stream_default_controller_call_pull_if_needed( |
| 722 | ctx.clone(), |
| 723 | objects, |
| 724 | )?; |
| 725 | } |
| 726 | |
| 727 | // Perform readRequest’s chunk steps, given chunk. |
| 728 | read_request.chunk_steps_typed(objects, chunk) |
| 729 | } else { |
| 730 | // Otherwise, |
| 731 | // Perform ! ReadableStreamAddReadRequest(stream, readRequest). |
| 732 | objects |
| 733 | .stream |
| 734 | .readable_stream_add_read_request(&mut objects.reader, read_request); |
| 735 | // Perform ! ReadableStreamDefaultControllerCallPullIfNeeded(this). |
| 736 | |
| 737 | ReadableStreamDefaultController::readable_stream_default_controller_call_pull_if_needed( |
| 738 | ctx.clone(), |
| 739 | objects, |
| 740 | ) |
| 741 | } |
| 742 | } |
| 743 | |
| 744 | fn cancel_steps<R: ReadableStreamReader<'js>>( |
| 745 | ctx: &Ctx<'js>, |
nothing calls this directly
no test coverage detected