FeedHandler.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. var __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. })();
  17. var __importDefault = (this && this.__importDefault) || function (mod) {
  18. return (mod && mod.__esModule) ? mod : { "default": mod };
  19. };
  20. Object.defineProperty(exports, "__esModule", { value: true });
  21. exports.parseFeed = exports.FeedHandler = exports.getFeed = void 0;
  22. var domhandler_1 = __importDefault(require("domhandler"));
  23. var domutils_1 = require("domutils");
  24. Object.defineProperty(exports, "getFeed", { enumerable: true, get: function () { return domutils_1.getFeed; } });
  25. var Parser_1 = require("./Parser");
  26. /** @deprecated Handler is no longer necessary; use `getFeed` or `parseFeed` instead. */
  27. var 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));
  55. exports.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. */
  62. function 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. }
  68. exports.parseFeed = parseFeed;