Skip to content

Commit b272b15

Browse files
authored
chore(types): add types for EventStreamMarshaller ser/deser functions (#3791)
1 parent ef017be commit b272b15

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

packages/types/src/eventStream.ts

+20-2
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,27 @@ export interface EventStreamSerdeContext {
8787
eventStreamMarshaller: EventStreamMarshaller;
8888
}
8989

90+
/**
91+
* A function which deserializes binary event stream message into modeled shape.
92+
*/
93+
export interface EventStreamMarshallerDeserFn {
94+
<T>(body: any, deserializer: (input: Record<string, Message>) => Promise<T>): AsyncIterable<T>;
95+
}
96+
97+
/**
98+
* A function that serializes modeled shape into binary stream message.
99+
*/
100+
export interface EventStreamMarshallerSerFn {
101+
<T>(input: AsyncIterable<T>, serializer: (event: T) => Message): any;
102+
}
103+
104+
/**
105+
* An interface which provides functions for serializing and deserializing binary event stream
106+
* to/from corresponsing modeled shape.
107+
*/
90108
export interface EventStreamMarshaller {
91-
deserialize: (body: any, deserializer: (input: Record<string, Message>) => any) => AsyncIterable<any>;
92-
serialize: (input: AsyncIterable<any>, serializer: (event: any) => Message) => any;
109+
deserialize: EventStreamMarshallerDeserFn;
110+
serialize: EventStreamMarshallerSerFn;
93111
}
94112

95113
export interface EventStreamRequestSigner {

0 commit comments

Comments
 (0)