serde-ts/dist/de/generic.d.ts

36 lines
1.7 KiB
TypeScript

import { SerdeOptions } from '../option';
import { IDeserializer, IIterableAccess, IMapAccess, IVisitor } from './interface';
export declare class GenericSeed<T> {
readonly visitor: IVisitor<T>;
constructor(visitor?: IVisitor<T>);
static deserialize<T, D extends IDeserializer>(deserializer: D, visitor?: IVisitor<T>): T;
deserialize<D extends IDeserializer>(deserializer: D): T;
}
export declare class ProxyVisitor<T> implements IVisitor<T> {
private overrides?;
private options?;
constructor(overrides?: Partial<IVisitor<T>>, options?: SerdeOptions);
visitBoolean(value: boolean): T;
visitNumber(value: number): T;
visitBigInt(value: bigint): T;
visitString(value: string): T;
visitSymbol(value: symbol): T;
visitNull(): T;
visitObject(access: IMapAccess): T;
visitIterable(access: IIterableAccess): T;
}
export declare class ProxyDeserializer implements IDeserializer {
private readonly deserializer;
private readonly options?;
constructor(deserializer: IDeserializer, options?: SerdeOptions);
deserializeAny<T, V extends IVisitor<T>>(visitor: V): T;
deserializeBoolean<T, V extends IVisitor<T>>(visitor: V): T;
deserializeNumber<T, V extends IVisitor<T>>(visitor: V): T;
deserializeBigInt<T, V extends IVisitor<T>>(visitor: V): T;
deserializeString<T, V extends IVisitor<T>>(visitor: V): T;
deserializeSymbol<T, V extends IVisitor<T>>(visitor: V): T;
deserializeNull<T, V extends IVisitor<T>>(visitor: V): T;
deserializeObject<T, V extends IVisitor<T>>(visitor: V): T;
deserializeIterable<T, V extends IVisitor<T>>(visitor: V): T;
deserializeFunction<T, V extends IVisitor<T>>(visitor: V): T;
}