@jahed/sparql-engine
Version:
SPARQL query engine for servers and web browsers.
43 lines (42 loc) • 2.37 kB
TypeScript
import { Observable, Subscriber } from "rxjs";
import { PipelineEngine, type StreamPipelineInput } from "./pipeline-engine.ts";
/**
* A StreamPipelineInput implemented using Rxjs' subscribers.
*/
export declare class RxjsStreamInput<T> implements StreamPipelineInput<T> {
private readonly _subscriber;
constructor(subscriber: Subscriber<T>);
next(value: T): void;
complete(): void;
error(err: any): void;
}
/**
* A pipeline implemented using Rx.js
*/
export default class RxjsPipeline extends PipelineEngine {
empty<T>(): Observable<T>;
of<T>(...values: T[]): Observable<T>;
from(x: any): Observable<any>;
fromAsync<T>(cb: (input: StreamPipelineInput<T>) => void): Observable<T>;
clone<T>(stage: Observable<T>): Observable<T>;
catch<T, O>(input: Observable<T>, handler?: (err: Error) => Observable<O>): Observable<T | O>;
merge<T>(...inputs: Array<Observable<T>>): Observable<T>;
map<F, T>(input: Observable<F>, mapper: (value: F) => T): Observable<T>;
flatMap<F, T>(input: Observable<F>, mapper: (value: F) => T[]): Observable<T>;
mergeMap<F, T>(input: Observable<F>, mapper: (value: F) => Observable<T>): Observable<T>;
mergeMapAsync<F, T>(input: Observable<F>, mapper: (value: F) => Observable<T> | Promise<Observable<T>>): Observable<T>;
filter<T>(input: Observable<T>, predicate: (value: T) => boolean): Observable<T>;
filterAsync<T>(input: Observable<T>, predicate: (value: T) => boolean | Promise<boolean>): Observable<T>;
finalize<T>(input: Observable<T>, callback: () => void): Observable<T>;
reduce<F, T>(input: Observable<F>, reducer: (acc: T, value: F) => T, initial: T): Observable<T>;
limit<T>(input: Observable<T>, stopAfter: number): Observable<T>;
skip<T>(input: Observable<T>, toSkip: number): Observable<T>;
distinct<T, K>(input: Observable<T>, selector?: (value: T) => T | K): Observable<T>;
defaultValues<T>(input: Observable<T>, ...values: T[]): Observable<T>;
bufferCount<T>(input: Observable<T>, count: number): Observable<T[]>;
forEach<T>(input: Observable<T>, cb: (value: T) => void): void;
first<T>(input: Observable<T>): Observable<T>;
endWith<T>(input: Observable<T>, values: T[]): Observable<T>;
tap<T>(input: Observable<T>, cb: (value: T) => void): Observable<T>;
collect<T>(input: Observable<T>): Observable<T[]>;
}