index.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.TokenizerMode = exports.Tokenizer = exports.Token = exports.html = exports.foreignContent = exports.ErrorCodes = exports.serializeOuter = exports.serialize = exports.Parser = exports.defaultTreeAdapter = void 0;
  4. exports.parse = parse;
  5. exports.parseFragment = parseFragment;
  6. const index_js_1 = require("./parser/index.js");
  7. var default_js_1 = require("./tree-adapters/default.js");
  8. Object.defineProperty(exports, "defaultTreeAdapter", { enumerable: true, get: function () { return default_js_1.defaultTreeAdapter; } });
  9. var index_js_2 = require("./parser/index.js");
  10. Object.defineProperty(exports, "Parser", { enumerable: true, get: function () { return index_js_2.Parser; } });
  11. var index_js_3 = require("./serializer/index.js");
  12. Object.defineProperty(exports, "serialize", { enumerable: true, get: function () { return index_js_3.serialize; } });
  13. Object.defineProperty(exports, "serializeOuter", { enumerable: true, get: function () { return index_js_3.serializeOuter; } });
  14. var error_codes_js_1 = require("./common/error-codes.js");
  15. Object.defineProperty(exports, "ErrorCodes", { enumerable: true, get: function () { return error_codes_js_1.ERR; } });
  16. /** @internal */
  17. exports.foreignContent = require("./common/foreign-content.js");
  18. exports.html = require("./common/html.js");
  19. exports.Token = require("./common/token.js");
  20. /** @internal */
  21. var index_js_4 = require("./tokenizer/index.js");
  22. Object.defineProperty(exports, "Tokenizer", { enumerable: true, get: function () { return index_js_4.Tokenizer; } });
  23. Object.defineProperty(exports, "TokenizerMode", { enumerable: true, get: function () { return index_js_4.TokenizerMode; } });
  24. // Shorthands
  25. /**
  26. * Parses an HTML string.
  27. *
  28. * @param html Input HTML string.
  29. * @param options Parsing options.
  30. * @returns Document
  31. *
  32. * @example
  33. *
  34. * ```js
  35. * const parse5 = require('parse5');
  36. *
  37. * const document = parse5.parse('<!DOCTYPE html><html><head></head><body>Hi there!</body></html>');
  38. *
  39. * console.log(document.childNodes[1].tagName); //> 'html'
  40. *```
  41. */
  42. function parse(html, options) {
  43. return index_js_1.Parser.parse(html, options);
  44. }
  45. function parseFragment(fragmentContext, html, options) {
  46. if (typeof fragmentContext === 'string') {
  47. options = html;
  48. html = fragmentContext;
  49. fragmentContext = null;
  50. }
  51. const parser = index_js_1.Parser.getFragmentParser(fragmentContext, options);
  52. parser.tokenizer.write(html, true);
  53. return parser.getFragment();
  54. }