36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { Registry } from 'serde';
|
|
import { SerializeIterable, SerializeObject, Serializer } from 'serde/ser';
|
|
interface Stringify {
|
|
(value: any): string;
|
|
}
|
|
declare class JSONSerializeObject extends SerializeObject<string> {
|
|
private readonly stringify;
|
|
private value;
|
|
private currentKey?;
|
|
constructor(stringify: Stringify);
|
|
serializeKey(key: string): void;
|
|
serializeValue<U>(value: U): void;
|
|
end(): string;
|
|
}
|
|
declare class JSONSerializeIterable extends SerializeIterable<string> {
|
|
private readonly stringify;
|
|
private elements;
|
|
constructor(stringify: Stringify);
|
|
serializeElement<U>(value: U): void;
|
|
end(): string;
|
|
}
|
|
export declare class JSONSerializer extends Serializer<string> {
|
|
private stringify;
|
|
constructor(registry?: Registry);
|
|
serializeAny(value: any): string;
|
|
serializeBoolean(value: any): string;
|
|
serializeNumber(value: any): string;
|
|
serializeBigInt(value: any): string;
|
|
serializeString(value: any): string;
|
|
serializeSymbol(value: any): string;
|
|
serializeNull(): string;
|
|
serializeIterable(_len: number): JSONSerializeIterable;
|
|
serializeObject(_len: number): JSONSerializeObject;
|
|
serializeClass(_name: string, _len: number): JSONSerializeObject;
|
|
}
|
|
export {};
|