File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -11,6 +11,8 @@ use wit_bindgen::StreamReader;
1111use bindings:: exports:: jco:: test_components:: use_stream_async;
1212use bindings:: exports:: jco:: test_components:: use_stream_sync;
1313
14+ use bindings:: exports:: jco:: test_components:: use_stream_async:: ExampleRecord ;
15+
1416struct Component ;
1517
1618impl use_stream_sync:: Guest for Component {
@@ -71,6 +73,10 @@ impl use_stream_async::Guest for Component {
7173 async fn read_stream_values_string ( rx : StreamReader < String > ) -> Vec < String > {
7274 read_async_values ( rx) . await
7375 }
76+
77+ async fn read_stream_values_record ( rx : StreamReader < ExampleRecord > ) -> Vec < ExampleRecord > {
78+ read_async_values ( rx) . await
79+ }
7480}
7581
7682async fn read_async_values < T > ( mut rx : StreamReader < T > ) -> Vec < T > {
Original file line number Diff line number Diff line change @@ -212,7 +212,7 @@ interface use-stream-async {
212212
213213 read-stream-values-string : async func (s : stream <string >) -> list <string >;
214214
215- // read-stream-values-record: async func(s: stream<example-record>) -> list<example-record>;
215+ read-stream-values-record : async func (s : stream <example-record >) -> list <example-record >;
216216
217217 // read-stream-values-variant: async func(s: stream<example-variant>) -> list<example-variant>;
218218
Original file line number Diff line number Diff line change @@ -214,6 +214,20 @@ suite("stream<T> lowers", () => {
214214 assert . deepEqual ( returnedVals , vals ) ;
215215 } ) ;
216216
217+ test . concurrent ( "record" , async ( ) => {
218+ assert . instanceOf ( instance [ "jco:test-components/use-stream-async" ] . readStreamValuesRecord , AsyncFunction ) ;
219+
220+ let vals = [
221+ { id : 3 , idStr : "three" } ,
222+ { id : 2 , idStr : "two" } ,
223+ { id : 1 , idStr : "one" } ,
224+ ] ;
225+ let returnedVals = await instance [ "jco:test-components/use-stream-async" ] . readStreamValuesRecord (
226+ createReadableStreamFromValues ( vals ) ,
227+ ) ;
228+ assert . deepEqual ( returnedVals , vals ) ;
229+ } ) ;
230+
217231} ) ;
218232
219233function createReadableStreamFromValues ( vals ) {
You can’t perform that action at this time.
0 commit comments