@jahed/sparql-engine
Version:
SPARQL query engine for servers and web browsers.
21 lines (20 loc) • 955 B
TypeScript
import { type PipelineObserverOrNext, type PipelineStage, type PipelineSubscription } from "../../engine/pipeline/pipeline-engine.ts";
import type { EngineTriple } from "../../types.ts";
export declare abstract class Consumable<T> implements PipelineStage<T> {
abstract execute(): Promise<void>;
subscribe(observerOrNext: PipelineObserverOrNext<T>): PipelineSubscription;
forEach(cb: (value: T) => void): void;
pipe<N>(fn: (source: PipelineStage<T>) => PipelineStage<N>): PipelineStage<N>;
[Symbol.asyncIterator](): AsyncIterator<T>;
}
export declare class ErrorConsumable<T> extends Consumable<T> {
private readonly _reason;
constructor(reason: string);
execute(): Promise<void>;
}
export declare abstract class Consumer<T> extends Consumable<T> {
private readonly _source;
constructor(source: PipelineStage<EngineTriple>);
execute(): Promise<void>;
abstract onData(triple: EngineTriple): Promise<void>;
}