cborkit
Version:
A modern, extensible CBOR (Concise Binary Object Representation) library for TypeScript and JavaScript.
22 lines (19 loc) • 1.02 kB
TypeScript
import { Decoder } from '../decoder.js';
import { Encoder } from '../encoder.js';
import { c as CborItem } from '../types-UHBEKmQx.js';
import '../writer-B9qtRVNe.js';
type ClassTransformer<TTarget extends object = object, TCbor extends CborItem = CborItem> = {
target: new (...args: any[]) => TTarget;
encode(value: TTarget, encode: (value: unknown) => CborItem): TCbor;
tag: number | bigint;
decode(value: TCbor, decode: (value: CborItem) => unknown): TTarget;
};
declare class ClassRegistry {
#private;
constructor(transformers?: ClassTransformer[]);
get encoder(): Encoder;
get decoder(): Decoder;
register<TTarget extends object, TCbor extends CborItem>({ target, tag, encode, decode, }: ClassTransformer<TTarget, TCbor>): void;
}
declare const createClassTransformer: <TTarget extends object, TCbor extends CborItem>(transformer: ClassTransformer<TTarget, TCbor>) => ClassTransformer<TTarget, TCbor>;
export { ClassRegistry, type ClassTransformer, createClassTransformer };