Parser.d.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { MinDOMParser } from '../HTMLAdaptor.js';
  2. import { LiteDocument } from './Document.js';
  3. import { LiteElement } from './Element.js';
  4. import { LiteText, LiteComment } from './Text.js';
  5. import { LiteAdaptor } from '../liteAdaptor.js';
  6. export declare namespace PATTERNS {
  7. const TAGNAME = "[a-z][^\\s\\n>]*";
  8. const ATTNAME = "[a-z][^\\s\\n>=]*";
  9. const VALUE = "(?:'[^']*'|\"[^\"]*\"|[^\\s\\n]+)";
  10. const VALUESPLIT = "(?:'([^']*)'|\"([^\"]*)\"|([^\\s\\n]+))";
  11. const SPACE = "(?:\\s|\\n)+";
  12. const OPTIONALSPACE = "(?:\\s|\\n)*";
  13. const ATTRIBUTE: string;
  14. const ATTRIBUTESPLIT: string;
  15. const TAG: string;
  16. const tag: RegExp;
  17. const attr: RegExp;
  18. const attrsplit: RegExp;
  19. }
  20. export declare class LiteParser implements MinDOMParser<LiteDocument> {
  21. static SELF_CLOSING: {
  22. [name: string]: boolean;
  23. };
  24. static PCDATA: {
  25. [name: string]: boolean;
  26. };
  27. static CDATA_ATTR: {
  28. [name: string]: boolean;
  29. };
  30. parseFromString(text: string, _format?: string, adaptor?: LiteAdaptor): LiteDocument;
  31. protected addText(adaptor: LiteAdaptor, node: LiteElement, text: string): LiteText;
  32. protected addComment(adaptor: LiteAdaptor, node: LiteElement, comment: string): LiteComment;
  33. protected closeTag(adaptor: LiteAdaptor, node: LiteElement, tag: string): LiteElement;
  34. protected openTag(adaptor: LiteAdaptor, node: LiteElement, tag: string, parts: string[]): LiteElement;
  35. protected addAttributes(adaptor: LiteAdaptor, node: LiteElement, attributes: string[]): void;
  36. protected handlePCDATA(adaptor: LiteAdaptor, node: LiteElement, kind: string, parts: string[]): void;
  37. protected checkDocument(adaptor: LiteAdaptor, root: LiteDocument): void;
  38. protected getOnlyChild(adaptor: LiteAdaptor, body: LiteElement): LiteElement;
  39. serialize(adaptor: LiteAdaptor, node: LiteElement, xml?: boolean): string;
  40. serializeInner(adaptor: LiteAdaptor, node: LiteElement, xml?: boolean): string;
  41. protectAttribute(text: string): string;
  42. protectHTML(text: string): string;
  43. }