UNPKG

@awesomeniko/kafka-trail

Version:

A Node.js library for managing message queue with Kafka

28 lines (27 loc) 1.05 kB
import type { KTCodec, KTSchemaMeta } from "../schema-codec.js"; export type AjvErrorLike = { instancePath?: string; message?: string; keyword?: string; params?: Record<string, unknown>; }; export type AjvValidateLike<Payload extends object> = ((data: unknown) => data is Payload) & { errors?: AjvErrorLike[] | null; }; export type AjvSchemaLike = Record<string, unknown>; export type AjvCompilerLike<Payload extends object> = { compile: (schema: AjvSchemaLike) => AjvValidateLike<Payload>; }; export declare const createAjvCodec: <Payload extends object>(params: { validate: AjvValidateLike<Payload>; serialize?: (data: Payload) => string; parse?: (data: string) => unknown; schemaMeta?: KTSchemaMeta; }) => KTCodec<Payload>; export declare const createAjvCodecFromSchema: <Payload extends object>(params: { ajv: AjvCompilerLike<Payload>; schema: AjvSchemaLike; serialize?: (data: Payload) => string; parse?: (data: string) => unknown; schemaMeta?: KTSchemaMeta; }) => KTCodec<Payload>;