UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

14 lines (13 loc) 736 B
import type { TreeElement } from "../util/element.js"; import { Extractor } from "./Extractor.js"; /** * Base class for an extractor that wraps another extractor. * - Subclasses delegate to `source` and (optionally) transform the input before or the output after. * - Composes the same way `Through*Provider` chains do — chain multiple `ThroughExtractor`s to build up behaviour. */ export declare abstract class ThroughExtractor<I, O extends TreeElement = TreeElement> extends Extractor<I, O> { readonly source: Extractor<I, O>; constructor(source: Extractor<I, O>); /** Default implementation forwards to `source.extract()`. Subclasses override to do work before or after. */ extract(input: I): O | Promise<O>; }