File tree Expand file tree Collapse file tree 3 files changed +9
-9
lines changed
Expand file tree Collapse file tree 3 files changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -22,9 +22,9 @@ export * from "./mqtt";
2222 * @property {@link Deserializer } `toEvent` - converts a Message into a CloudEvent
2323 * @property {@link Detector } `isEvent` - determines if a Message can be converted to a CloudEvent
2424 */
25- export interface Binding {
26- binary : Serializer ;
27- structured : Serializer ;
25+ export interface Binding < B extends Message = Message , S extends Message = Message > {
26+ binary : Serializer < B > ;
27+ structured : Serializer < S > ;
2828 toEvent : Deserializer ;
2929 isEvent : Detector ;
3030}
@@ -65,8 +65,8 @@ export enum Mode {
6565 * CloudEvent into a Message.
6666 * @interface
6767 */
68- export interface Serializer {
69- < T > ( event : CloudEventV1 < T > ) : Message ;
68+ export interface Serializer < M extends Message > {
69+ < T > ( event : CloudEventV1 < T > ) : M ;
7070}
7171
7272/**
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ export type {
2222 * Bindings for Kafka transport
2323 * @implements {@linkcode Binding }
2424 */
25- const Kafka : Binding = {
25+ const Kafka : Binding < KafkaMessage < unknown > , KafkaMessage > = {
2626 binary : toBinaryKafkaMessage ,
2727 structured : toStructuredKafkaMessage ,
2828 toEvent : deserializeKafkaMessage ,
@@ -86,7 +86,7 @@ function toBinaryKafkaMessage<T>(event: CloudEventV1<T>): KafkaMessage<T> {
8686 * @param {CloudEvent<T> } event the CloudEvent to be serialized
8787 * @returns {KafkaMessage<T> } a KafkaMessage instance
8888 */
89- function toStructuredKafkaMessage < T > ( event : CloudEventV1 < T > ) : KafkaMessage < T > {
89+ function toStructuredKafkaMessage < T > ( event : CloudEventV1 < T > ) : KafkaMessage {
9090 if ( ( event instanceof CloudEvent ) && event . data_base64 ) {
9191 // The event's data is binary - delete it
9292 event = event . cloneWith ( { data : undefined } ) ;
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ export type { MQTTMessage };
1515 * Extends the base {@linkcode Message} interface to include MQTT attributes, some of which
1616 * are aliases of the {Message} attributes.
1717 */
18- interface MQTTMessage < T > extends Message < T > {
18+ interface MQTTMessage < T = unknown > extends Message < T > {
1919 /**
2020 * Identifies this message as a PUBLISH packet. MQTTMessages created with
2121 * the `binary` and `structured` Serializers will contain a "Content Type"
@@ -37,7 +37,7 @@ interface MQTTMessage<T> extends Message<T> {
3737 * Binding for MQTT transport support
3838 * @implements @linkcode Binding
3939 */
40- const MQTT : Binding = {
40+ const MQTT : Binding < MQTTMessage , MQTTMessage > = {
4141 binary,
4242 structured,
4343 toEvent : toEvent as Deserializer ,
You can’t perform that action at this time.
0 commit comments