20 lines
838 B
TypeScript
20 lines
838 B
TypeScript
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 Visitor<T> implements IVisitor<T> {
|
|
private overrides?;
|
|
constructor(overrides?: Partial<IVisitor<T>>);
|
|
static from<T>(visitor: Partial<IVisitor<T>>): IVisitor<T>;
|
|
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;
|
|
}
|