UNPKG

@dishuostec/llrt-types

Version:

Type definitions for LLRT, Low Latency Runtime

59 lines (50 loc) 1.46 kB
declare module "llrt:xml" { type XmlInput = | string | ArrayBuffer | QuickJS.ArrayBufferView | ArrayLike<number>; type AttributeValueProcessor = ( attrName: string, attrValue: string, jpath: string ) => string | null | undefined | void; type TagValueProcessor = ( tagName: string, tagValue: string, jpath: string, hasAttributes: boolean ) => string | null | undefined | void; interface XmlParserOptions { ignoreAttributes?: boolean; attributeNamePrefix?: string; textNodeName?: string; attributeValueProcessor?: AttributeValueProcessor; tagValueProcessor?: TagValueProcessor; } export class XmlText { constructor(text: string); toString(): string; } export class XmlNode { constructor(name: string, children?: unknown[]); static of(name: string, childText?: string, withName?: string): XmlNode; withName(name: string): this; addAttribute(name: string, value: string): this; addChildNode(node: unknown): this; removeAttribute(name: string): this; toString(): string; } export class XMLParser { constructor(options?: XmlParserOptions); addEntity(key: string, value: string): void; parse(xml: XmlInput): Record<string, unknown>; } const _default: { XMLParser: typeof XMLParser; XmlText: typeof XmlText; XmlNode: typeof XmlNode; }; export type { XmlParserOptions }; export default _default; }