@awesomeniko/kafka-trail
Version:
A Node.js library for managing message queue with Kafka
28 lines (27 loc) • 1.05 kB
TypeScript
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>;