34 lines
1.5 KiB
TypeScript
34 lines
1.5 KiB
TypeScript
import { Registry } from 'serde';
|
|
import { Deserialize, IDeserializer, IterableAccess, IVisitor, MapAccess } from 'serde/de';
|
|
type Entry = [any, any];
|
|
export declare class JSONMapAccess extends MapAccess {
|
|
private readonly _entries;
|
|
private index;
|
|
constructor(entries: Entry[]);
|
|
static fromObject(value: object): JSONMapAccess;
|
|
nextKey<T>(seed?: Deserialize<T>): IteratorResult<T>;
|
|
nextValue<T>(seed?: Deserialize<T>): IteratorResult<T>;
|
|
}
|
|
export declare class JSONIterableAccess extends IterableAccess {
|
|
private readonly iterator;
|
|
constructor(iterator: Iterator<any>);
|
|
static fromIterable(iterable: Iterable<any>): JSONIterableAccess;
|
|
nextElement<T, D extends Deserialize<T>>(seed?: D): IteratorResult<T>;
|
|
}
|
|
export declare class JSONDeserializer implements IDeserializer {
|
|
private readonly input;
|
|
private readonly parser;
|
|
constructor(input: string, registry?: Registry);
|
|
static fromString(value: string, registry?: Registry): JSONDeserializer;
|
|
deserializeAny<T>(_visitor: IVisitor<T>): T;
|
|
deserializeBoolean<T>(visitor: IVisitor<T>): T;
|
|
deserializeNumber<T>(visitor: IVisitor<T>): T;
|
|
deserializeBigInt<T>(visitor: IVisitor<T>): T;
|
|
deserializeString<T>(visitor: IVisitor<T>): T;
|
|
deserializeSymbol<T>(visitor: IVisitor<T>): T;
|
|
deserializeNull<T>(visitor: IVisitor<T>): T;
|
|
deserializeObject<T>(visitor: IVisitor<T>): T;
|
|
deserializeIterable<T>(visitor: IVisitor<T>): T;
|
|
deserializeFunction<T>(_visitor: IVisitor<T>): T;
|
|
}
|
|
export {};
|