Skip to content

Commit 7b8a2f3

Browse files
authored
breaking: Remove FeedHandler class (#1166)
1 parent 5aa9b84 commit 7b8a2f3

File tree

4 files changed

+23
-63
lines changed

4 files changed

+23
-63
lines changed

src/FeedHandler.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
// Runs tests for feeds
22

33
import * as helper from "./__fixtures__/test-helper";
4-
import { FeedHandler, parseFeed } from "./FeedHandler";
4+
import { DomHandler, getFeed, parseFeed } from ".";
55
import fs from "fs";
66
import path from "path";
77

88
const documents = path.join(__dirname, "__fixtures__", "Documents");
99

1010
helper.createSuite("Feeds", (test, cb) => {
1111
const file = fs.readFileSync(path.join(documents, test.file), "utf8");
12-
const handler: FeedHandler = new FeedHandler((err) =>
13-
cb(err, handler.feed)
12+
const handler: DomHandler = new DomHandler((err) =>
13+
cb(err, getFeed(handler.dom))
1414
);
1515

1616
helper.writeToParser(handler, { xmlMode: true }, file);

src/FeedHandler.ts

-52
This file was deleted.

src/index.spec.ts

-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ import {
44
createDomStream,
55
DomHandler,
66
DefaultHandler,
7-
RssHandler,
87
} from ".";
9-
import { FeedHandler } from "./FeedHandler";
108
import { Element } from "domhandler";
119

1210
// Add an `attributes` prop to the Element for now, to make it possible for Jest to render DOM nodes.
@@ -49,7 +47,6 @@ describe("Index", () => {
4947

5048
describe("API", () => {
5149
it("should export the appropriate APIs", () => {
52-
expect(RssHandler).toEqual(FeedHandler);
5350
expect(DomHandler).toEqual(DefaultHandler);
5451
});
5552
});

src/index.ts

+20-5
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,32 @@ export {
5959
default as Tokenizer,
6060
type Callbacks as TokenizerCallbacks,
6161
} from "./Tokenizer.js";
62-
import * as ElementType from "domelementtype";
63-
export { ElementType };
6462

6563
/*
6664
* All of the following exports exist for backwards-compatibility.
6765
* They should probably be removed eventually.
6866
*/
67+
import * as ElementType from "domelementtype";
68+
export { ElementType };
69+
70+
import { getFeed, Feed } from "domutils";
71+
72+
export { getFeed };
73+
74+
/**
75+
* Parse a feed.
76+
*
77+
* @param feed The feed that should be parsed, as a string.
78+
* @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.
79+
*/
80+
export function parseFeed(
81+
feed: string,
82+
options: ParserOptions & DomHandlerOptions = { xmlMode: true }
83+
): Feed | null {
84+
return getFeed(parseDOM(feed, options));
85+
}
6986

70-
export * from "./FeedHandler.js";
7187
export * as DomUtils from "domutils";
7288

73-
// Old names for Dom- & FeedHandler
89+
// Old name for DomHandler
7490
export { DomHandler as DefaultHandler };
75-
export { FeedHandler as RssHandler } from "./FeedHandler.js";

0 commit comments

Comments
 (0)