UNPKG

@platformatic/kafka

Version:

Modern and performant client for Apache Kafka

43 lines (42 loc) 2.17 kB
export type Serializer<InputType = unknown> = (data?: InputType) => Buffer | undefined; export type Deserializer<OutputType = unknown> = (data?: Buffer) => OutputType | undefined; export type SerializerWithHeaders<InputType = unknown, HeaderKey = unknown, HeaderValue = unknown> = (data?: InputType, headers?: Map<HeaderKey, HeaderValue>) => Buffer | undefined; export type DeserializerWithHeaders<OutputType = unknown, HeaderKey = unknown, HeaderValue = unknown> = (data?: Buffer, headers?: Map<HeaderKey, HeaderValue>) => OutputType | undefined; export interface Serializers<Key, Value, HeaderKey, HeaderValue> { key: SerializerWithHeaders<Key, HeaderKey, HeaderValue>; value: SerializerWithHeaders<Value, HeaderKey, HeaderValue>; headerKey: Serializer<HeaderKey>; headerValue: Serializer<HeaderValue>; } export interface Deserializers<Key, Value, HeaderKey, HeaderValue> { key: DeserializerWithHeaders<Key>; value: DeserializerWithHeaders<Value>; headerKey: Deserializer<HeaderKey>; headerValue: Deserializer<HeaderValue>; } export declare function stringSerializer(data?: string): Buffer | undefined; export declare function stringDeserializer(data?: string | Buffer): string | undefined; export declare function jsonSerializer<T = Record<string, any>>(data?: T): Buffer | undefined; export declare function jsonDeserializer<T = Record<string, any>>(data?: string | Buffer): T | undefined; export declare function serializersFrom<T>(serializer: Serializer<T>): Serializers<T, T, T, T>; export declare function deserializersFrom<T>(deserializer: Deserializer<T>): Deserializers<T, T, T, T>; export declare const serdeProperties: { type: string; properties: { key: { function: boolean; }; value: { function: boolean; }; headerKey: { function: boolean; }; headerValue: { function: boolean; }; }; additionalProperties: boolean; }; export declare const stringSerializers: Serializers<string, string, string, string>; export declare const stringDeserializers: Deserializers<string, string, string, string>;