@connectv/core
Version:
agent-based reactive programming library for typescript/javascript
42 lines (41 loc) • 1.31 kB
TypeScript
import { OperatorFunction } from 'rxjs';
import { Emission } from '../shared/emission';
import { Pin } from './pin';
import { PinLike } from './pin-like';
export declare type PipeFunc = OperatorFunction<Emission, Emission>;
/**
*
* Represents [pipe](https://connective.dev/docs/pipe) pins.
*
*/
export declare class Pipe extends Pin {
/**
*
* The list of pipe functions that constitute this pipe.
*
*/
readonly pipes: PipeFunc[];
constructor(pipes: PipeFunc[]);
/**
*
* Resolves the underling observable of the pin, by
* [mergeing](https://rxjs-dev.firebaseapp.com/api/index/function/merge)
* observables of inbound pins and piping them through specified
* [pipeable operators](https://github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md).
*
* @param inbound
*
*/
protected resolve(inbound: PinLike[]): import("rxjs").Observable<Emission>;
}
/**
*
* Creates a [pipe](https://connective.dev/docs/pipe) pin using given pipe functions.
* You can utilize this to use RxJS's pipeable operators in CONNECTIVE flows.
* [Checkout the docs](https://connective.dev/docs/pipe) for examples and further information.
*
* @param pipes
*
*/
export declare function pipe(...pipes: PipeFunc[]): Pipe;
export default pipe;