UNPKG

5.54 kBJavaScriptView Raw
1"use strict";
2var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3 if (k2 === undefined) k2 = k;
4 var desc = Object.getOwnPropertyDescriptor(m, k);
5 if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6 desc = { enumerable: true, get: function() { return m[k]; } };
7 }
8 Object.defineProperty(o, k2, desc);
9}) : (function(o, m, k, k2) {
10 if (k2 === undefined) k2 = k;
11 o[k2] = m[k];
12}));
13var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14 Object.defineProperty(o, "default", { enumerable: true, value: v });
15}) : function(o, v) {
16 o["default"] = v;
17});
18var __importStar = (this && this.__importStar) || function (mod) {
19 if (mod && mod.__esModule) return mod;
20 var result = {};
21 if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22 __setModuleDefault(result, mod);
23 return result;
24};
25var __importDefault = (this && this.__importDefault) || function (mod) {
26 return (mod && mod.__esModule) ? mod : { "default": mod };
27};
28Object.defineProperty(exports, "__esModule", { value: true });
29exports.DomUtils = exports.parseFeed = exports.getFeed = exports.ElementType = exports.QuoteType = exports.Tokenizer = exports.createDomStream = exports.createDocumentStream = exports.parseDOM = exports.parseDocument = exports.DefaultHandler = exports.DomHandler = exports.Parser = void 0;
30var Parser_js_1 = require("./Parser.js");
31var Parser_js_2 = require("./Parser.js");
32Object.defineProperty(exports, "Parser", { enumerable: true, get: function () { return Parser_js_2.Parser; } });
33var domhandler_1 = require("domhandler");
34var domhandler_2 = require("domhandler");
35Object.defineProperty(exports, "DomHandler", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });
36// Old name for DomHandler
37Object.defineProperty(exports, "DefaultHandler", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });
38// Helper methods
39/**
40 * Parses the data, returns the resulting document.
41 *
42 * @param data The data that should be parsed.
43 * @param options Optional options for the parser and DOM handler.
44 */
45function parseDocument(data, options) {
46 var handler = new domhandler_1.DomHandler(undefined, options);
47 new Parser_js_1.Parser(handler, options).end(data);
48 return handler.root;
49}
50exports.parseDocument = parseDocument;
51/**
52 * Parses data, returns an array of the root nodes.
53 *
54 * Note that the root nodes still have a `Document` node as their parent.
55 * Use `parseDocument` to get the `Document` node instead.
56 *
57 * @param data The data that should be parsed.
58 * @param options Optional options for the parser and DOM handler.
59 * @deprecated Use `parseDocument` instead.
60 */
61function parseDOM(data, options) {
62 return parseDocument(data, options).children;
63}
64exports.parseDOM = parseDOM;
65/**
66 * Creates a parser instance, with an attached DOM handler.
67 *
68 * @param callback A callback that will be called once parsing has been completed, with the resulting document.
69 * @param options Optional options for the parser and DOM handler.
70 * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.
71 */
72function createDocumentStream(callback, options, elementCallback) {
73 var handler = new domhandler_1.DomHandler(function (error) { return callback(error, handler.root); }, options, elementCallback);
74 return new Parser_js_1.Parser(handler, options);
75}
76exports.createDocumentStream = createDocumentStream;
77/**
78 * Creates a parser instance, with an attached DOM handler.
79 *
80 * @param callback A callback that will be called once parsing has been completed, with an array of root nodes.
81 * @param options Optional options for the parser and DOM handler.
82 * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.
83 * @deprecated Use `createDocumentStream` instead.
84 */
85function createDomStream(callback, options, elementCallback) {
86 var handler = new domhandler_1.DomHandler(callback, options, elementCallback);
87 return new Parser_js_1.Parser(handler, options);
88}
89exports.createDomStream = createDomStream;
90var Tokenizer_js_1 = require("./Tokenizer.js");
91Object.defineProperty(exports, "Tokenizer", { enumerable: true, get: function () { return __importDefault(Tokenizer_js_1).default; } });
92Object.defineProperty(exports, "QuoteType", { enumerable: true, get: function () { return Tokenizer_js_1.QuoteType; } });
93/*
94 * All of the following exports exist for backwards-compatibility.
95 * They should probably be removed eventually.
96 */
97exports.ElementType = __importStar(require("domelementtype"));
98var domutils_1 = require("domutils");
99var domutils_2 = require("domutils");
100Object.defineProperty(exports, "getFeed", { enumerable: true, get: function () { return domutils_2.getFeed; } });
101var parseFeedDefaultOptions = { xmlMode: true };
102/**
103 * Parse a feed.
104 *
105 * @param feed The feed that should be parsed, as a string.
106 * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.
107 */
108function parseFeed(feed, options) {
109 if (options === void 0) { options = parseFeedDefaultOptions; }
110 return (0, domutils_1.getFeed)(parseDOM(feed, options));
111}
112exports.parseFeed = parseFeed;
113exports.DomUtils = __importStar(require("domutils"));
114//# sourceMappingURL=index.js.map
\No newline at end of file