UNPKG

@wikipathways/cxml

Version:

Advanced schema-aware streaming XML parser

48 lines 1.6 kB
import { TypeSpec } from "./TypeSpec"; import { MemberSpec } from "./MemberSpec"; import { Context } from "./Context"; import { NamespaceBase } from "./NamespaceBase"; export interface ModuleExports { [name: string]: any; _cxml: [Namespace]; } export interface ImportContent { typeTbl: { [key: string]: TypeSpec; }; memberTbl: { [key: string]: MemberSpec; }; } /** Tuple: module exports object, list of imported type names */ export declare type ImportSpec = [ModuleExports, string[], string[]]; export declare class Namespace extends NamespaceBase<Context> { init(importSpecList: ImportSpec[]): this; addType(spec: TypeSpec): void; addMember(spec: MemberSpec): void; typeByNum(num: number): TypeSpec; memberByNum(num: number): MemberSpec; link(): void; exportTypes(exports: ModuleExports): void; exportDocument(exports: ModuleExports): void; /** Get an internally used arbitrary prefix for fully qualified names * in this namespace. */ getPrefix(): string; /** Invisible document element defining the types of XML file root elements. */ doc: TypeSpec; importSpecList: ImportSpec[]; importNamespaceList: Namespace[]; exportTypeNameList: string[]; /** All types used in the document. */ typeSpecList: TypeSpec[]; /** All members used in the document. */ memberSpecList: MemberSpec[]; exportOffset: number; exportTypeTbl: { [name: string]: TypeSpec; }; exportMemberTbl: { [name: string]: MemberSpec; }; } //# sourceMappingURL=Namespace.d.ts.map