Skip to content

Commit

Permalink
breaking: Remove FeedHandler class (#1166)
Browse files Browse the repository at this point in the history
  • Loading branch information
fb55 committed Apr 23, 2022
1 parent 5aa9b84 commit 7b8a2f3
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 63 deletions.
6 changes: 3 additions & 3 deletions src/FeedHandler.spec.ts
@@ -1,16 +1,16 @@
// Runs tests for feeds

import * as helper from "./__fixtures__/test-helper";
import { FeedHandler, parseFeed } from "./FeedHandler";
import { DomHandler, getFeed, parseFeed } from ".";
import fs from "fs";
import path from "path";

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

helper.createSuite("Feeds", (test, cb) => {
const file = fs.readFileSync(path.join(documents, test.file), "utf8");
const handler: FeedHandler = new FeedHandler((err) =>
cb(err, handler.feed)
const handler: DomHandler = new DomHandler((err) =>
cb(err, getFeed(handler.dom))
);

helper.writeToParser(handler, { xmlMode: true }, file);
Expand Down
52 changes: 0 additions & 52 deletions src/FeedHandler.ts

This file was deleted.

3 changes: 0 additions & 3 deletions src/index.spec.ts
Expand Up @@ -4,9 +4,7 @@ import {
createDomStream,
DomHandler,
DefaultHandler,
RssHandler,
} from ".";
import { FeedHandler } from "./FeedHandler";
import { Element } from "domhandler";

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

describe("API", () => {
it("should export the appropriate APIs", () => {
expect(RssHandler).toEqual(FeedHandler);
expect(DomHandler).toEqual(DefaultHandler);
});
});
Expand Down
25 changes: 20 additions & 5 deletions src/index.ts
Expand Up @@ -59,17 +59,32 @@ export {
default as Tokenizer,
type Callbacks as TokenizerCallbacks,
} from "./Tokenizer.js";
import * as ElementType from "domelementtype";
export { ElementType };

/*
* All of the following exports exist for backwards-compatibility.
* They should probably be removed eventually.
*/
import * as ElementType from "domelementtype";
export { ElementType };

import { getFeed, Feed } from "domutils";

export { getFeed };

/**
* Parse a feed.
*
* @param feed The feed that should be parsed, as a string.
* @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.
*/
export function parseFeed(
feed: string,
options: ParserOptions & DomHandlerOptions = { xmlMode: true }
): Feed | null {
return getFeed(parseDOM(feed, options));
}

export * from "./FeedHandler.js";
export * as DomUtils from "domutils";

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

0 comments on commit 7b8a2f3

Please sign in to comment.