MCPcopy Create free account
hub / github.com/awslabs/llrt / with_controller

Method with_controller

modules/llrt_stream_web/src/readable/objects.rs:115–163  ·  view source on GitHub ↗
(
        self,
        ctx: Ctx,
        default: impl FnOnce(
            Ctx,
            ReadableStreamDefaultControllerObjects<'js, R>,
        ) -> Result<(O, ReadableStreamDefaultControllerObje

Source from the content-addressed store, hash-verified

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,

Callers 4

with_readerMethod · 0.45
readable_stream_teeMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected