webforai
Version:
A library that provides a web interface for AI
20 lines (19 loc) • 606 B
JavaScript
// src/extractors/pipeExtractors.ts
import { DEFAULT_EXTRACTORS } from "../constants.js";
var pipeExtractors = (params, extractors = DEFAULT_EXTRACTORS) => {
const { hast, lang } = params;
const _extractors = Array.isArray(extractors) ? extractors : [extractors];
const extracted = _extractors.reduce((acc, extractor) => {
if (extractor === false) {
return acc;
}
if (typeof extractor === "function") {
return extractor({ hast: acc, lang });
}
throw new Error(`Invalid extractor: ${extractor}`);
}, hast) || hast;
return extracted;
};
export {
pipeExtractors
};