(
ctx: &Ctx<'js>,
mut objects: ReadableStreamDefaultReaderObjects<'js, Self>,
read_request: impl ReadableStreamReadRequest<'js> + 'js,
)
| 773 | } |
| 774 | |
| 775 | fn pull_steps( |
| 776 | ctx: &Ctx<'js>, |
| 777 | mut objects: ReadableStreamDefaultReaderObjects<'js, Self>, |
| 778 | read_request: impl ReadableStreamReadRequest<'js> + 'js, |
| 779 | ) -> Result<ReadableStreamDefaultReaderObjects<'js, Self>> { |
| 780 | // If this.[[queue]] is not empty, |
| 781 | if !objects.controller.container.queue.is_empty() { |
| 782 | // Let chunk be ! DequeueValue(this). |
| 783 | let chunk = objects.controller.container.dequeue_value(); |
| 784 | // If this.[[closeRequested]] is true and this.[[queue]] is empty, |
| 785 | if objects.controller.close_requested && objects.controller.container.queue.is_empty() { |
| 786 | // Perform ! ReadableStreamDefaultControllerClearAlgorithms(this). |
| 787 | objects |
| 788 | .controller |
| 789 | .readable_stream_default_controller_clear_algorithms(); |
| 790 | // Perform ! ReadableStreamClose(stream). |
| 791 | objects = ReadableStream::readable_stream_close(ctx.clone(), objects)?; |
| 792 | } else { |
| 793 | // Otherwise, perform ! ReadableStreamDefaultControllerCallPullIfNeeded(this). |
| 794 | objects = |
| 795 | ReadableStreamDefaultController::readable_stream_default_controller_call_pull_if_needed( |
| 796 | ctx.clone(), |
| 797 | objects, |
| 798 | )?; |
| 799 | } |
| 800 | |
| 801 | // Perform readRequest’s chunk steps, given chunk. |
| 802 | read_request.chunk_steps_typed(objects, chunk) |
| 803 | } else { |
| 804 | // Otherwise, |
| 805 | // Perform ! ReadableStreamAddReadRequest(stream, readRequest). |
| 806 | objects |
| 807 | .stream |
| 808 | .readable_stream_add_read_request(&mut objects.reader, read_request); |
| 809 | // Perform ! ReadableStreamDefaultControllerCallPullIfNeeded(this). |
| 810 | |
| 811 | ReadableStreamDefaultController::readable_stream_default_controller_call_pull_if_needed( |
| 812 | ctx.clone(), |
| 813 | objects, |
| 814 | ) |
| 815 | } |
| 816 | } |
| 817 | |
| 818 | fn cancel_steps<R: ReadableStreamReader<'js>>( |
| 819 | ctx: &Ctx<'js>, |
nothing calls this directly
no test coverage detected