UNPKG

cborkit

Version:

A modern, extensible CBOR (Concise Binary Object Representation) library for TypeScript and JavaScript.

22 lines (19 loc) 1.02 kB
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 };