(
self,
ctx: Ctx,
default: impl FnOnce(
Ctx,
ReadableStreamDefaultControllerObjects<'js, R>,
) -> Result<(O, ReadableStreamDefaultControllerObje
| 113 | } |
| 114 | |
| 115 | pub(super) fn with_controller<Ctx, O>( |
| 116 | self, |
| 117 | ctx: Ctx, |
| 118 | default: impl FnOnce( |
| 119 | Ctx, |
| 120 | ReadableStreamDefaultControllerObjects<'js, R>, |
| 121 | ) -> Result<(O, ReadableStreamDefaultControllerObjects<'js, R>)>, |
| 122 | byte: impl FnOnce( |
| 123 | Ctx, |
| 124 | ReadableByteStreamObjects<'js, R>, |
| 125 | ) -> Result<(O, ReadableByteStreamObjects<'js, R>)>, |
| 126 | ) -> Result<(O, Self)> { |
| 127 | let ((out, stream, reader), controller) = self.controller.with_controller( |
| 128 | (ctx, self.stream, self.reader), |
| 129 | |(ctx, stream, reader), controller| { |
| 130 | let (out, objects) = default( |
| 131 | ctx, |
| 132 | ReadableStreamObjects { |
| 133 | stream, |
| 134 | controller, |
| 135 | reader, |
| 136 | }, |
| 137 | )?; |
| 138 | |
| 139 | Ok(((out, objects.stream, objects.reader), objects.controller)) |
| 140 | }, |
| 141 | |(ctx, stream, reader), controller| { |
| 142 | let (out, objects) = byte( |
| 143 | ctx, |
| 144 | ReadableStreamObjects { |
| 145 | stream, |
| 146 | controller, |
| 147 | reader, |
| 148 | }, |
| 149 | )?; |
| 150 | |
| 151 | Ok(((out, objects.stream, objects.reader), objects.controller)) |
| 152 | }, |
| 153 | )?; |
| 154 | |
| 155 | Ok(( |
| 156 | out, |
| 157 | Self { |
| 158 | stream, |
| 159 | controller, |
| 160 | reader, |
| 161 | }, |
| 162 | )) |
| 163 | } |
| 164 | |
| 165 | pub(super) fn with_assert_byob_reader( |
| 166 | self, |
no outgoing calls
no test coverage detected