UNPKG

@ng-doc/builder

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

21 lines (20 loc) 1.51 kB
import { Observable, ObservableInput, ObservableInputTuple, ObservedValueOf, OperatorFunction } from 'rxjs'; import { BuilderState } from '../types'; /** * Operator function that projects each source value to an Observable which is merged in the output Observable, * only if the source value is a BuilderDone state. * * The project function is applied to each value emitted by the source Observable. If the source value is a BuilderDone state, * the project function is called with the result of the BuilderDone state and the index as arguments, and the returned Observable * is merged into the output Observable. If the source value is not a BuilderDone state, it is emitted directly to the output Observable. * @param {Function} project - The function to apply to each BuilderDone value emitted by the source Observable. * @returns {OperatorFunction} - An OperatorFunction that emits the items from the source Observable or the projected Observables. */ export declare function whenDone<T, O extends ObservableInput<any>>(project: (value: T, index: number) => ObservableInput<BuilderState<ObservedValueOf<O>>>): OperatorFunction<BuilderState<T>, BuilderState<ObservedValueOf<O>>>; /** * * @param tag * @param builders * @param project */ export declare function factoryChain<T, TChild>(tag: string, builders: readonly [...ObservableInputTuple<Array<BuilderState<T>>>], project: (...args: T[]) => readonly [...ObservableInputTuple<Array<BuilderState<TChild>>>]): Observable<BuilderState<TChild>>;