index.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { Parser } from './parser/index.js';
  2. export { defaultTreeAdapter } from './tree-adapters/default.js';
  3. export { /** @internal */ Parser } from './parser/index.js';
  4. export { serialize, serializeOuter } from './serializer/index.js';
  5. export { ERR as ErrorCodes } from './common/error-codes.js';
  6. /** @internal */
  7. export * as foreignContent from './common/foreign-content.js';
  8. /** @internal */
  9. export * as html from './common/html.js';
  10. /** @internal */
  11. export * as Token from './common/token.js';
  12. /** @internal */
  13. export { Tokenizer, TokenizerMode } from './tokenizer/index.js';
  14. // Shorthands
  15. /**
  16. * Parses an HTML string.
  17. *
  18. * @param html Input HTML string.
  19. * @param options Parsing options.
  20. * @returns Document
  21. *
  22. * @example
  23. *
  24. * ```js
  25. * const parse5 = require('parse5');
  26. *
  27. * const document = parse5.parse('<!DOCTYPE html><html><head></head><body>Hi there!</body></html>');
  28. *
  29. * console.log(document.childNodes[1].tagName); //> 'html'
  30. *```
  31. */
  32. export function parse(html, options) {
  33. return Parser.parse(html, options);
  34. }
  35. export function parseFragment(fragmentContext, html, options) {
  36. if (typeof fragmentContext === 'string') {
  37. options = html;
  38. html = fragmentContext;
  39. fragmentContext = null;
  40. }
  41. const parser = Parser.getFragmentParser(fragmentContext, options);
  42. parser.tokenizer.write(html, true);
  43. return parser.getFragment();
  44. }
  45. //# sourceMappingURL=index.js.map