Skip to content

Commit

Permalink
Add typescript definition (#667)
Browse files Browse the repository at this point in the history
Add a typescript definition with a generic serializer.
  • Loading branch information
mathieudutour authored Jan 5, 2021
1 parent 2d35826 commit e1c7905
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
49 changes: 49 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* Decides whether or not the document is reader-able without parsing the whole thing.
* @return {boolean} Whether or not we suspect Readability.parse() will suceeed at returning an article object.
*/
export function isProbablyReaderable(
document: Document,
options?: {
/** The minimum node content length used to decide if the document is readerable. */
minContentLength?: number;
/** The minumum cumulated 'score' used to determine if the document is readerable. */
minScore?: number;
/** The function used to determine if a node is visible. */
visibilityChecker?: (node: Node) => boolean;
}
): boolean;

export class Readability<T = string> {
constructor(
document: Document,
options?: {
debug?: boolean;
maxElemsToParse?: number;
nbTopCandidates?: number;
charThreshold?: number;
classesToPreserve?: string[];
keepClasses?: boolean;
serializer?: (node: Node) => T;
disableJSONLD?: boolean;
}
);

parse(): null | {
/** article title */
title: string;
/** author metadata */
byline: string;
/** content direction */
dir: string;
/** HTML of processed article content */
content: T;
/** text content of the article (all HTML removed) */
textContent: string;
/** length of an article, in characters */
length: number;
/** article description, or short excerpt from the content */
excerpt: string;
siteName: string;
};
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"version": "0.4.0",
"description": "A standalone version of the readability library used for Firefox Reader View.",
"main": "index.js",
"types": "index.d.ts",
"scripts": {
"lint": "eslint .",
"test": "mocha test/test-*.js",
Expand Down

0 comments on commit e1c7905

Please sign in to comment.