webforai 1.6.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +201 -21
  2. package/README.md +45 -111
  3. package/dist/bin.js +51 -82
  4. package/dist/cjs/constants.js +34 -0
  5. package/dist/cjs/extractors/index.js +31 -0
  6. package/dist/cjs/{extract-hast/index.js → extractors/pipeExtractors.js} +9 -19
  7. package/dist/cjs/{extract-hast/readability.js → extractors/presets/takumi.js} +6 -6
  8. package/dist/cjs/extractors/types.js +16 -0
  9. package/dist/cjs/html-to-mdast.js +2 -2
  10. package/dist/cjs/index.js +7 -7
  11. package/dist/cjs/loaders/puppeteer.js +1 -1
  12. package/dist/constants.js +10 -0
  13. package/dist/extractors/index.js +9 -0
  14. package/dist/{extract-hast/index.js → extractors/pipeExtractors.js} +6 -14
  15. package/dist/{extract-hast/readability.js → extractors/presets/takumi.js} +3 -3
  16. package/dist/{extract-hast → extractors/presets}/utils.js +1 -1
  17. package/dist/extractors/types.js +0 -0
  18. package/dist/html-to-mdast.js +2 -2
  19. package/dist/index.js +7 -4
  20. package/dist/loaders/puppeteer.js +1 -1
  21. package/dist/types/constants.d.ts +4 -0
  22. package/dist/types/constants.js.map +1 -0
  23. package/dist/types/extractors/index.d.ts +3 -0
  24. package/dist/types/extractors/index.js.map +1 -0
  25. package/dist/types/extractors/pipeExtractors.d.ts +7 -0
  26. package/dist/types/extractors/pipeExtractors.js.map +1 -0
  27. package/dist/types/extractors/presets/takumi.d.ts +10 -0
  28. package/dist/types/extractors/presets/takumi.js.map +1 -0
  29. package/dist/types/extractors/presets/utils.js.map +1 -0
  30. package/dist/types/extractors/types.d.ts +7 -0
  31. package/dist/types/extractors/types.js.map +1 -0
  32. package/dist/types/html-to-mdast.d.ts +2 -2
  33. package/dist/types/html-to-mdast.js.map +1 -1
  34. package/dist/types/index.d.ts +1 -1
  35. package/dist/types/index.js.map +1 -1
  36. package/dist/types/loaders/puppeteer.js.map +1 -1
  37. package/package.json +4 -4
  38. package/dist/cjs/extract-hast/strongly.js +0 -57
  39. package/dist/extract-hast/strongly.js +0 -34
  40. package/dist/types/extract-hast/index.d.ts +0 -15
  41. package/dist/types/extract-hast/index.js.map +0 -1
  42. package/dist/types/extract-hast/readability.d.ts +0 -3
  43. package/dist/types/extract-hast/readability.js.map +0 -1
  44. package/dist/types/extract-hast/strongly.d.ts +0 -3
  45. package/dist/types/extract-hast/strongly.js.map +0 -1
  46. package/dist/types/extract-hast/utils.js.map +0 -1
  47. /package/dist/cjs/{extract-hast → extractors/presets}/utils.js +0 -0
  48. /package/dist/types/{extract-hast → extractors/presets}/utils.d.ts +0 -0
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var constants_exports = {};
20
+ __export(constants_exports, {
21
+ DEFAULT_EXTRACTORS: () => DEFAULT_EXTRACTORS,
22
+ PRESET_EXTRACTORS: () => PRESET_EXTRACTORS
23
+ });
24
+ module.exports = __toCommonJS(constants_exports);
25
+ var import_takumi = require("./extractors/presets/takumi");
26
+ const PRESET_EXTRACTORS = {
27
+ takumi: import_takumi.takumiExtractor
28
+ };
29
+ const DEFAULT_EXTRACTORS = ["takumi"];
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ DEFAULT_EXTRACTORS,
33
+ PRESET_EXTRACTORS
34
+ });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var extractors_exports = {};
20
+ __export(extractors_exports, {
21
+ pipeExtractors: () => import_pipeExtractors.pipeExtractors,
22
+ takumiExtractor: () => import_takumi.takumiExtractor
23
+ });
24
+ module.exports = __toCommonJS(extractors_exports);
25
+ var import_pipeExtractors = require("./pipeExtractors");
26
+ var import_takumi = require("./presets/takumi");
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ pipeExtractors,
30
+ takumiExtractor
31
+ });
@@ -16,29 +16,21 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var extract_hast_exports = {};
20
- __export(extract_hast_exports, {
21
- DEFAULT_EXTRACT_HAST: () => DEFAULT_EXTRACT_HAST,
22
- PRESET_EXTRACT_HAST: () => PRESET_EXTRACT_HAST,
23
- extractHast: () => extractHast
19
+ var pipeExtractors_exports = {};
20
+ __export(pipeExtractors_exports, {
21
+ pipeExtractors: () => pipeExtractors
24
22
  });
25
- module.exports = __toCommonJS(extract_hast_exports);
26
- var import_readability = require("./readability");
27
- var import_strongly = require("./strongly");
28
- const PRESET_EXTRACT_HAST = {
29
- strongly: import_strongly.stronglyExtractHast,
30
- readability: import_readability.readabilityExtractHast
31
- };
32
- const DEFAULT_EXTRACT_HAST = ["readability"];
33
- const extractHast = (params, extractors = DEFAULT_EXTRACT_HAST) => {
23
+ module.exports = __toCommonJS(pipeExtractors_exports);
24
+ var import_constants = require("../constants");
25
+ const pipeExtractors = (params, extractors = import_constants.DEFAULT_EXTRACTORS) => {
34
26
  const { hast, lang } = params;
35
27
  const _extractors = Array.isArray(extractors) ? extractors : [extractors];
36
28
  const extracted = _extractors.reduce((acc, extractor) => {
37
29
  if (extractor === false) {
38
30
  return acc;
39
31
  }
40
- if (typeof extractor === "string" && extractor in PRESET_EXTRACT_HAST) {
41
- return PRESET_EXTRACT_HAST[extractor]({ hast: acc, lang });
32
+ if (typeof extractor === "string" && extractor in import_constants.PRESET_EXTRACTORS) {
33
+ return import_constants.PRESET_EXTRACTORS[extractor]({ hast: acc, lang });
42
34
  }
43
35
  if (typeof extractor === "function") {
44
36
  return extractor({ hast: acc, lang });
@@ -49,7 +41,5 @@ const extractHast = (params, extractors = DEFAULT_EXTRACT_HAST) => {
49
41
  };
50
42
  // Annotate the CommonJS export names for ESM import in node:
51
43
  0 && (module.exports = {
52
- DEFAULT_EXTRACT_HAST,
53
- PRESET_EXTRACT_HAST,
54
- extractHast
44
+ pipeExtractors
55
45
  });
@@ -16,11 +16,11 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var readability_exports = {};
20
- __export(readability_exports, {
21
- readabilityExtractHast: () => readabilityExtractHast
19
+ var takumi_exports = {};
20
+ __export(takumi_exports, {
21
+ takumiExtractor: () => takumiExtractor
22
22
  });
23
- module.exports = __toCommonJS(readability_exports);
23
+ module.exports = __toCommonJS(takumi_exports);
24
24
  var import_hast_util_select = require("hast-util-select");
25
25
  var import_hast_util_to_string = require("hast-util-to-string");
26
26
  var import_unist_util_filter = require("unist-util-filter");
@@ -103,7 +103,7 @@ const removeEmptyFilter = (node, _lang) => {
103
103
  }
104
104
  return true;
105
105
  };
106
- const readabilityExtractHast = (params) => {
106
+ const takumiExtractor = (params) => {
107
107
  const { hast, lang = "en" } = params;
108
108
  const body = (0, import_hast_util_select.select)("body", hast) ?? hast;
109
109
  const metadataFilteredHast = (0, import_unist_util_filter.filter)(body, (node) => metadataFilter(node));
@@ -152,5 +152,5 @@ const readabilityExtractHast = (params) => {
152
152
  };
153
153
  // Annotate the CommonJS export names for ESM import in node:
154
154
  0 && (module.exports = {
155
- readabilityExtractHast
155
+ takumiExtractor
156
156
  });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -23,8 +23,8 @@ __export(html_to_mdast_exports, {
23
23
  module.exports = __toCommonJS(html_to_mdast_exports);
24
24
  var import_hast_util_from_html = require("hast-util-from-html");
25
25
  var import_hast_util_to_mdast = require("hast-util-to-mdast");
26
- var import_extract_hast = require("./extract-hast");
27
26
  var import_extract_mdast = require("./extract-mdast");
27
+ var import_extractors = require("./extractors");
28
28
  var import_custom_a_handler = require("./mdast-handlers/custom-a-handler");
29
29
  var import_custom_code_handler = require("./mdast-handlers/custom-code-handler");
30
30
  var import_custom_div_handler = require("./mdast-handlers/custom-div-handler");
@@ -36,7 +36,7 @@ const htmlToMdast = (htmlOrHast, options) => {
36
36
  const { extractors, url: defaultUrl, lang: defaultLang } = options || {};
37
37
  const [lang, hast] = typeof htmlOrHast === "string" ? [defaultLang || (0, import_hast_utils.getLangFromStr)(htmlOrHast), (0, import_hast_util_from_html.fromHtml)(htmlOrHast, { fragment: true })] : [defaultLang || (0, import_hast_utils.getLangFromHast)(htmlOrHast), htmlOrHast];
38
38
  const url = defaultUrl || (0, import_hast_utils.getUrlFromHast)(hast);
39
- const extractedHast = (0, import_extract_hast.extractHast)({ hast, lang, url }, extractors);
39
+ const extractedHast = (0, import_extractors.pipeExtractors)({ hast, lang, url }, extractors);
40
40
  const mdast = (0, import_hast_util_to_mdast.toMdast)(extractedHast, {
41
41
  handlers: {
42
42
  math: import_math_handler.mathHandler,
package/dist/cjs/index.js CHANGED
@@ -18,25 +18,25 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var src_exports = {};
20
20
  __export(src_exports, {
21
- DEFAULT_EXTRACT_HAST: () => import_extract_hast.DEFAULT_EXTRACT_HAST,
22
- PRESET_EXTRACT_HAST: () => import_extract_hast.PRESET_EXTRACT_HAST,
23
21
  htmlToMarkdown: () => import_html_to_markdown.htmlToMarkdown,
24
22
  htmlToMdast: () => import_html_to_mdast.htmlToMdast,
25
23
  mdastSplitter: () => import_md_splitter.mdastSplitter,
26
- mdastToMarkdown: () => import_mdast_to_markdown.mdastToMarkdown
24
+ mdastToMarkdown: () => import_mdast_to_markdown.mdastToMarkdown,
25
+ pipeExtractors: () => import_extractors.pipeExtractors,
26
+ takumiExtractor: () => import_extractors.takumiExtractor
27
27
  });
28
28
  module.exports = __toCommonJS(src_exports);
29
29
  var import_html_to_markdown = require("./html-to-markdown");
30
30
  var import_md_splitter = require("./md-splitter");
31
31
  var import_html_to_mdast = require("./html-to-mdast");
32
32
  var import_mdast_to_markdown = require("./mdast-to-markdown");
33
- var import_extract_hast = require("./extract-hast/index");
33
+ var import_extractors = require("./extractors");
34
34
  // Annotate the CommonJS export names for ESM import in node:
35
35
  0 && (module.exports = {
36
- DEFAULT_EXTRACT_HAST,
37
- PRESET_EXTRACT_HAST,
38
36
  htmlToMarkdown,
39
37
  htmlToMdast,
40
38
  mdastSplitter,
41
- mdastToMarkdown
39
+ mdastToMarkdown,
40
+ pipeExtractors,
41
+ takumiExtractor
42
42
  });
@@ -44,7 +44,7 @@ const loadHtml = async (url, ctx) => {
44
44
  await page.goto(url);
45
45
  const html = await page.content();
46
46
  await Promise.race([page.waitForNetworkIdle(), sleep(1e4)]);
47
- await page.close();
47
+ await browser.close();
48
48
  return html;
49
49
  };
50
50
  // Annotate the CommonJS export names for ESM import in node:
@@ -0,0 +1,10 @@
1
+ // src/constants.ts
2
+ import { takumiExtractor } from "./extractors/presets/takumi.js";
3
+ var PRESET_EXTRACTORS = {
4
+ takumi: takumiExtractor
5
+ };
6
+ var DEFAULT_EXTRACTORS = ["takumi"];
7
+ export {
8
+ DEFAULT_EXTRACTORS,
9
+ PRESET_EXTRACTORS
10
+ };
@@ -0,0 +1,9 @@
1
+ // src/extractors/index.ts
2
+ import {
3
+ pipeExtractors
4
+ } from "./pipeExtractors.js";
5
+ import { takumiExtractor } from "./presets/takumi.js";
6
+ export {
7
+ pipeExtractors,
8
+ takumiExtractor
9
+ };
@@ -1,20 +1,14 @@
1
- // src/extract-hast/index.ts
2
- import { readabilityExtractHast } from "./readability.js";
3
- import { stronglyExtractHast } from "./strongly.js";
4
- var PRESET_EXTRACT_HAST = {
5
- strongly: stronglyExtractHast,
6
- readability: readabilityExtractHast
7
- };
8
- var DEFAULT_EXTRACT_HAST = ["readability"];
9
- var extractHast = (params, extractors = DEFAULT_EXTRACT_HAST) => {
1
+ // src/extractors/pipeExtractors.ts
2
+ import { DEFAULT_EXTRACTORS, PRESET_EXTRACTORS } from "../constants.js";
3
+ var pipeExtractors = (params, extractors = DEFAULT_EXTRACTORS) => {
10
4
  const { hast, lang } = params;
11
5
  const _extractors = Array.isArray(extractors) ? extractors : [extractors];
12
6
  const extracted = _extractors.reduce((acc, extractor) => {
13
7
  if (extractor === false) {
14
8
  return acc;
15
9
  }
16
- if (typeof extractor === "string" && extractor in PRESET_EXTRACT_HAST) {
17
- return PRESET_EXTRACT_HAST[extractor]({ hast: acc, lang });
10
+ if (typeof extractor === "string" && extractor in PRESET_EXTRACTORS) {
11
+ return PRESET_EXTRACTORS[extractor]({ hast: acc, lang });
18
12
  }
19
13
  if (typeof extractor === "function") {
20
14
  return extractor({ hast: acc, lang });
@@ -24,7 +18,5 @@ var extractHast = (params, extractors = DEFAULT_EXTRACT_HAST) => {
24
18
  return extracted;
25
19
  };
26
20
  export {
27
- DEFAULT_EXTRACT_HAST,
28
- PRESET_EXTRACT_HAST,
29
- extractHast
21
+ pipeExtractors
30
22
  };
@@ -1,4 +1,4 @@
1
- // src/extract-hast/readability.ts
1
+ // src/extractors/presets/takumi.ts
2
2
  import { select, selectAll } from "hast-util-select";
3
3
  import { toString as hastToString } from "hast-util-to-string";
4
4
  import { filter } from "unist-util-filter";
@@ -81,7 +81,7 @@ var removeEmptyFilter = (node, _lang) => {
81
81
  }
82
82
  return true;
83
83
  };
84
- var readabilityExtractHast = (params) => {
84
+ var takumiExtractor = (params) => {
85
85
  const { hast, lang = "en" } = params;
86
86
  const body = select("body", hast) ?? hast;
87
87
  const metadataFilteredHast = filter(body, (node) => metadataFilter(node));
@@ -129,5 +129,5 @@ var readabilityExtractHast = (params) => {
129
129
  return finalTree;
130
130
  };
131
131
  export {
132
- readabilityExtractHast
132
+ takumiExtractor
133
133
  };
@@ -1,4 +1,4 @@
1
- // src/extract-hast/utils.ts
1
+ // src/extractors/presets/utils.ts
2
2
  var matchString = (element) => `${element.tagName} ${element.properties.id} ${classnames(element).join(" ")}`;
3
3
  var classnames = (element) => {
4
4
  if (Array.isArray(element.properties.className)) {
File without changes
@@ -1,8 +1,8 @@
1
1
  // src/html-to-mdast.ts
2
2
  import { fromHtml } from "hast-util-from-html";
3
3
  import { toMdast } from "hast-util-to-mdast";
4
- import { extractHast } from "./extract-hast/index.js";
5
4
  import { extractMdast } from "./extract-mdast.js";
5
+ import { pipeExtractors } from "./extractors/index.js";
6
6
  import { customAHandler } from "./mdast-handlers/custom-a-handler.js";
7
7
  import { customCodeHandler } from "./mdast-handlers/custom-code-handler.js";
8
8
  import { customDivHandler } from "./mdast-handlers/custom-div-handler.js";
@@ -14,7 +14,7 @@ var htmlToMdast = (htmlOrHast, options) => {
14
14
  const { extractors, url: defaultUrl, lang: defaultLang } = options || {};
15
15
  const [lang, hast] = typeof htmlOrHast === "string" ? [defaultLang || getLangFromStr(htmlOrHast), fromHtml(htmlOrHast, { fragment: true })] : [defaultLang || getLangFromHast(htmlOrHast), htmlOrHast];
16
16
  const url = defaultUrl || getUrlFromHast(hast);
17
- const extractedHast = extractHast({ hast, lang, url }, extractors);
17
+ const extractedHast = pipeExtractors({ hast, lang, url }, extractors);
18
18
  const mdast = toMdast(extractedHast, {
19
19
  handlers: {
20
20
  math: mathHandler,
package/dist/index.js CHANGED
@@ -3,12 +3,15 @@ import { htmlToMarkdown } from "./html-to-markdown.js";
3
3
  import { mdastSplitter } from "./md-splitter.js";
4
4
  import { htmlToMdast } from "./html-to-mdast.js";
5
5
  import { mdastToMarkdown } from "./mdast-to-markdown.js";
6
- import { PRESET_EXTRACT_HAST, DEFAULT_EXTRACT_HAST } from "./extract-hast/index.js";
6
+ import {
7
+ pipeExtractors,
8
+ takumiExtractor
9
+ } from "./extractors/index.js";
7
10
  export {
8
- DEFAULT_EXTRACT_HAST,
9
- PRESET_EXTRACT_HAST,
10
11
  htmlToMarkdown,
11
12
  htmlToMdast,
12
13
  mdastSplitter,
13
- mdastToMarkdown
14
+ mdastToMarkdown,
15
+ pipeExtractors,
16
+ takumiExtractor
14
17
  };
@@ -12,7 +12,7 @@ var loadHtml = async (url, ctx) => {
12
12
  await page.goto(url);
13
13
  const html = await page.content();
14
14
  await Promise.race([page.waitForNetworkIdle(), sleep(1e4)]);
15
- await page.close();
15
+ await browser.close();
16
16
  return html;
17
17
  };
18
18
  export {
@@ -0,0 +1,4 @@
1
+ export declare const PRESET_EXTRACTORS: {
2
+ takumi: (params: import("./extractors").ExtractParams) => import("hast").Nodes;
3
+ };
4
+ export declare const DEFAULT_EXTRACTORS: "takumi"[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,MAAM,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAiB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { pipeExtractors, type ExtractorSelectors, type ExtractorSelector, type PresetExtractors, } from "./pipeExtractors";
2
+ export { takumiExtractor } from "./presets/takumi";
3
+ export { type ExtractParams, type Extractor } from "./types";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EACN,cAAc,GAId,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Nodes as Hast } from "hast";
2
+ import { PRESET_EXTRACTORS } from "../constants";
3
+ import type { ExtractParams, Extractor } from "./types";
4
+ export type PresetExtractors = keyof typeof PRESET_EXTRACTORS;
5
+ export type ExtractorSelector = Extractor | false | PresetExtractors;
6
+ export type ExtractorSelectors = ExtractorSelector | ExtractorSelector[];
7
+ export declare const pipeExtractors: (params: ExtractParams, extractors?: ExtractorSelectors) => Hast;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeExtractors.js","sourceRoot":"","sources":["../../../src/extractors/pipeExtractors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAOrE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAqB,EAAE,aAAiC,kBAAkB,EAAQ,EAAE;IAClH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE1E,MAAM,SAAS,GACd,WAAW,CAAC,MAAM,CAAO,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QAC3C,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,iBAAiB,EAAE,CAAC;YACrE,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IACpD,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;IAElB,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Nodes as Hast } from "hast";
2
+ import type { ExtractParams } from "../types";
3
+ /**
4
+ * Currently the best Extractor.
5
+ * The word "takumi" is written as 匠 in Japanese, and it refers to a highly skilled artisan or craftsman.
6
+ *
7
+ * @param params - {@link ExtractParams}
8
+ * @returns The HAST tree.
9
+ */
10
+ export declare const takumiExtractor: (params: ExtractParams) => Hast;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"takumi.js","sourceRoot":"","sources":["../../../../src/extractors/presets/takumi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/extractors/presets/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC/C,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAEhF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC,UAAU,CAAC,SAAqB,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,KAAa,EAAE,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Nodes as Hast } from "hast";
2
+ export type ExtractParams = {
3
+ hast: Hast;
4
+ lang?: string;
5
+ url?: string;
6
+ };
7
+ export type Extractor = (param: ExtractParams) => Hast;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/extractors/types.ts"],"names":[],"mappings":""}
@@ -1,12 +1,12 @@
1
1
  import type { Nodes as Hast } from "hast";
2
2
  import type { Nodes as Mdast } from "mdast";
3
- import { type Extracotrs } from "./extract-hast";
3
+ import { type ExtractorSelectors } from "./extractors";
4
4
  export type HtmlToMdastOptions = {
5
5
  /**
6
6
  * An array of extractors to extract specific elements from the HTML.
7
7
  * You can define your own functions in addition to the Extractor provided as a preset.
8
8
  */
9
- extractors?: Extracotrs;
9
+ extractors?: ExtractorSelectors;
10
10
  /** Whether to convert links to plain text. */
11
11
  linkAsText?: boolean;
12
12
  /** Whether to convert tables to plain text. */
@@ -1 +1 @@
1
- {"version":3,"file":"html-to-mdast.js","sourceRoot":"","sources":["../../src/html-to-mdast.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAmB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAoBrF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAyB,EAAE,OAA4B,EAAS,EAAE;IAC7F,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEzE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GACjB,OAAO,UAAU,KAAK,QAAQ;QAC7B,CAAC,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAE7D,MAAM,GAAG,GAAG,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE;QACpC,QAAQ,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,iBAAiB;YACtB,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YAClD,GAAG,EAAE,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YACxD,KAAK,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;SAC3D;KACD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"html-to-mdast.js","sourceRoot":"","sources":["../../src/html-to-mdast.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAA2B,cAAc,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAoBrF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAyB,EAAE,OAA4B,EAAS,EAAE;IAC7F,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEzE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GACjB,OAAO,UAAU,KAAK,QAAQ;QAC7B,CAAC,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAE7D,MAAM,GAAG,GAAG,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE;QACpC,QAAQ,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,iBAAiB;YACtB,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YAClD,GAAG,EAAE,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YACxD,KAAK,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;SAC3D;KACD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC"}
@@ -2,4 +2,4 @@ export { htmlToMarkdown, type HtmlToMarkdownOptions } from "./html-to-markdown";
2
2
  export { mdastSplitter } from "./md-splitter";
3
3
  export { htmlToMdast, type HtmlToMdastOptions } from "./html-to-mdast";
4
4
  export { mdastToMarkdown } from "./mdast-to-markdown";
5
- export { PRESET_EXTRACT_HAST, DEFAULT_EXTRACT_HAST } from "./extract-hast/index";
5
+ export { pipeExtractors, takumiExtractor, type ExtractorSelectors, type ExtractorSelector, type PresetExtractors, type ExtractParams, type Extractor, } from "./extractors";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAA8B,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA2B,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAA8B,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA2B,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACN,cAAc,EACd,eAAe,GAMf,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../../src/loaders/puppeteer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAGlC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAE,GAA4B,EAAE,EAAE;IAC3E,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CACrC,GAAG,IAAI;QACN,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,CACD,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAElC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IAEnB,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../../src/loaders/puppeteer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAGlC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAE,GAA4B,EAAE,EAAE;IAC3E,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CACrC,GAAG,IAAI;QACN,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,CACD,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAElC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEtB,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "webforai",
3
- "version": "1.6.3",
3
+ "version": "2.0.1",
4
4
  "description": "A library that provides a web interface for AI",
5
5
  "author": "inaridiy",
6
- "license": "MIT",
6
+ "license": "Apache-2.0",
7
7
  "keywords": [
8
8
  "web",
9
9
  "ai",
@@ -17,7 +17,7 @@
17
17
  "type": "git",
18
18
  "url": "https://github.com/inaridiy/webforai.git"
19
19
  },
20
- "homepage": "https://github.com/inaridiy/webforai.git",
20
+ "homepage": "https://webforai.dev/",
21
21
  "files": [
22
22
  "dist",
23
23
  "!dist/types/**/*.js"
@@ -135,7 +135,7 @@
135
135
  "copy:package.cjs.json": "pnpm ncp ./package.cjs.json ./dist/cjs/package.json && pnpm ncp ./package.cjs.json ./dist/types/package.json ",
136
136
  "clean": "rimraf dist",
137
137
  "build": "pnpm clean && tsx build.ts && pnpm copy:package.cjs.json",
138
- "test": "echo \"Error: no test specified\"",
138
+ "typecheck": "tsc --noEmit",
139
139
  "prerelease": "pnpm build",
140
140
  "release": "np"
141
141
  }
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var strongly_exports = {};
20
- __export(strongly_exports, {
21
- stronglyExtractHast: () => stronglyExtractHast
22
- });
23
- module.exports = __toCommonJS(strongly_exports);
24
- var import_hast_util_select = require("hast-util-select");
25
- var import_unist_util_filter = require("unist-util-filter");
26
- const REMOVE_REGEX = /fallback|icon|header|nav|speechify-ignore|assist|-ad-|banner|combx|comment|com-|contact|foot|footer|footnote|gdpr|masthead|media|meta|outbrain|promo|related|scroll|share|assist|shoutbox|sidebar|skyscraper|sponsor|shopping|tags|tool|widget/i;
27
- const stronglyExtractHast = (params) => {
28
- const { hast } = params;
29
- const selectors = ["article", "#article", "#content", "main", "div.container"];
30
- let selectedElement = hast;
31
- for (const selector of selectors) {
32
- const element = (0, import_hast_util_select.select)(selector, hast);
33
- if (element) {
34
- selectedElement = element;
35
- break;
36
- }
37
- }
38
- const removedElements = (0, import_unist_util_filter.filter)(selectedElement, (node) => {
39
- if (node.type === "comment") {
40
- return false;
41
- }
42
- if (node.type !== "element") {
43
- return true;
44
- }
45
- const element = node;
46
- const elementName = `${element.tagName} ${element.properties.id} ${element.properties.className}`;
47
- if (REMOVE_REGEX.test(elementName)) {
48
- return false;
49
- }
50
- return true;
51
- });
52
- return removedElements;
53
- };
54
- // Annotate the CommonJS export names for ESM import in node:
55
- 0 && (module.exports = {
56
- stronglyExtractHast
57
- });
@@ -1,34 +0,0 @@
1
- // src/extract-hast/strongly.ts
2
- import { select } from "hast-util-select";
3
- import { filter } from "unist-util-filter";
4
- var REMOVE_REGEX = /fallback|icon|header|nav|speechify-ignore|assist|-ad-|banner|combx|comment|com-|contact|foot|footer|footnote|gdpr|masthead|media|meta|outbrain|promo|related|scroll|share|assist|shoutbox|sidebar|skyscraper|sponsor|shopping|tags|tool|widget/i;
5
- var stronglyExtractHast = (params) => {
6
- const { hast } = params;
7
- const selectors = ["article", "#article", "#content", "main", "div.container"];
8
- let selectedElement = hast;
9
- for (const selector of selectors) {
10
- const element = select(selector, hast);
11
- if (element) {
12
- selectedElement = element;
13
- break;
14
- }
15
- }
16
- const removedElements = filter(selectedElement, (node) => {
17
- if (node.type === "comment") {
18
- return false;
19
- }
20
- if (node.type !== "element") {
21
- return true;
22
- }
23
- const element = node;
24
- const elementName = `${element.tagName} ${element.properties.id} ${element.properties.className}`;
25
- if (REMOVE_REGEX.test(elementName)) {
26
- return false;
27
- }
28
- return true;
29
- });
30
- return removedElements;
31
- };
32
- export {
33
- stronglyExtractHast
34
- };
@@ -1,15 +0,0 @@
1
- import type { Nodes as Hast } from "hast";
2
- export type ExtractPresets = "strongly" | "readability";
3
- export type ExtractParams = {
4
- hast: Hast;
5
- lang?: string;
6
- url?: string;
7
- };
8
- export type Extractor = ((param: ExtractParams) => Hast) | false | ExtractPresets;
9
- export type Extracotrs = Extractor | Extractor[];
10
- export declare const PRESET_EXTRACT_HAST: {
11
- strongly: (params: ExtractParams) => Hast;
12
- readability: (params: ExtractParams) => Hast;
13
- };
14
- export declare const DEFAULT_EXTRACT_HAST: Extracotrs;
15
- export declare const extractHast: (params: ExtractParams, extractors?: Extracotrs) => Hast;