node-ejs-renderer/node_modules/@jsonjoy.com/json-pack/lib/ion/ast.d.ts
2024-06-09 13:55:01 -04:00

69 lines
2.1 KiB
TypeScript

import { Import } from './Import';
export interface AstNode<T> {
readonly val: T;
readonly len: number;
byteLength(): number;
}
export declare class NullAstNode implements AstNode<null> {
readonly val: null;
readonly len = 1;
byteLength(): number;
}
export declare class BoolAstNode implements AstNode<boolean> {
readonly val: boolean;
readonly len = 1;
constructor(val: boolean);
byteLength(): number;
}
export declare class UintAstNode implements AstNode<number> {
readonly val: number;
readonly len: number;
constructor(val: number);
byteLength(): number;
}
export declare class NintAstNode implements AstNode<number> {
readonly val: number;
readonly len: number;
constructor(val: number);
byteLength(): number;
}
export declare class FloatAstNode implements AstNode<number> {
readonly val: number;
readonly len: number;
constructor(val: number);
byteLength(): number;
}
export declare class StrAstNode implements AstNode<string> {
readonly val: string;
readonly len: number;
constructor(val: string);
byteLength(): number;
}
export declare class BinAstNode implements AstNode<Uint8Array> {
readonly val: Uint8Array;
readonly len: number;
constructor(val: Uint8Array);
byteLength(): number;
}
export declare class ArrAstNode implements AstNode<AstNode<unknown>[] | null> {
readonly val: AstNode<unknown>[] | null;
readonly len: number;
constructor(val: AstNode<unknown>[] | null);
byteLength(): number;
}
export declare class ObjAstNode implements AstNode<Map<number, AstNode<unknown>> | null> {
readonly val: Map<number, AstNode<unknown>> | null;
readonly len: number;
constructor(val: Map<number, AstNode<unknown>> | null);
byteLength(): number;
}
export declare class AnnotationAstNode implements AstNode<AstNode<unknown>> {
readonly val: AstNode<unknown>;
readonly annotations: number[];
readonly len: number;
readonly annotationLen: number;
constructor(val: AstNode<unknown>, annotations: number[]);
byteLength(): number;
}
export declare const toAst: (val: unknown, symbols: Import) => AstNode<unknown>;