UNPKG

2.7 kBJavaScriptView Raw
1"use strict";
2var __extends = (this && this.__extends) || (function () {
3 var extendStatics = function (d, b) {
4 extendStatics = Object.setPrototypeOf ||
5 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6 function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7 return extendStatics(d, b);
8 };
9 return function (d, b) {
10 if (typeof b !== "function" && b !== null)
11 throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12 extendStatics(d, b);
13 function __() { this.constructor = d; }
14 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15 };
16})();
17var __importDefault = (this && this.__importDefault) || function (mod) {
18 return (mod && mod.__esModule) ? mod : { "default": mod };
19};
20Object.defineProperty(exports, "__esModule", { value: true });
21exports.parseFeed = exports.FeedHandler = exports.getFeed = void 0;
22var domhandler_1 = __importDefault(require("domhandler"));
23var domutils_1 = require("domutils");
24Object.defineProperty(exports, "getFeed", { enumerable: true, get: function () { return domutils_1.getFeed; } });
25var Parser_1 = require("./Parser");
26/** @deprecated Handler is no longer necessary; use `getFeed` or `parseFeed` instead. */
27var FeedHandler = /** @class */ (function (_super) {
28 __extends(FeedHandler, _super);
29 /**
30 *
31 * @param callback
32 * @param options
33 */
34 function FeedHandler(callback, options) {
35 var _this = this;
36 if (typeof callback === "object") {
37 callback = undefined;
38 options = callback;
39 }
40 _this = _super.call(this, callback, options) || this;
41 return _this;
42 }
43 FeedHandler.prototype.onend = function () {
44 var feed = (0, domutils_1.getFeed)(this.dom);
45 if (feed) {
46 this.feed = feed;
47 this.handleCallback(null);
48 }
49 else {
50 this.handleCallback(new Error("couldn't find root of feed"));
51 }
52 };
53 return FeedHandler;
54}(domhandler_1.default));
55exports.FeedHandler = FeedHandler;
56/**
57 * Parse a feed.
58 *
59 * @param feed The feed that should be parsed, as a string.
60 * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.
61 */
62function parseFeed(feed, options) {
63 if (options === void 0) { options = { xmlMode: true }; }
64 var handler = new domhandler_1.default(null, options);
65 new Parser_1.Parser(handler, options).end(feed);
66 return (0, domutils_1.getFeed)(handler.dom);
67}
68exports.parseFeed = parseFeed;