PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/xstream/extra

Просмотр файла: flattenConcurrentlyAtMost.d.ts

import { Operator, Stream, MemoryStream } from '../index';
export declare class FlattenConcAMOperator<T> implements Operator<Stream<T>, T> {
    n: number;
    ins: Stream<Stream<T>>;
    type: string;
    out: Stream<T>;
    private _l;
    private _d;
    private _seq;
    constructor(n: number, ins: Stream<Stream<T>>);
    _start(out: Stream<T>): void;
    _stop(): void;
    less(): void;
    _n(s: Stream<T>): void;
    _e(err: any): void;
    _c(): void;
}
/**
 * Flattens a "stream of streams", handling multiple concurrent nested streams
 * simultaneously, up to some limit `n`.
 *
 * If the input stream is a stream that emits streams, then this operator will
 * return an output stream which is a flat stream: emits regular events. The
 * flattening happens concurrently, up to the configured limit. It works like
 * this: when the input stream emits a nested stream,
 * *flattenConcurrentlyAtMost* will start imitating that nested one. When the
 * next nested stream is emitted on the input stream,
 * *flattenConcurrentlyAtMost* will check to see how many streams it is connected
 * to. If it is connected to a number of streams less than the limit, it will also
 * imitate that new one, but will continue to imitate the previous nested streams
 * as well.
 *
 * If the limit has already been reached, *flattenConcurrentlyAtMost* will put the
 * stream in a queue. When any of the streams it is listening to completes, a stream
 * is taken out of the queue and `flattenConcurrentlyAtMost` will connect to it.
 *
 * This process continues until the metastream completes and there are no more
 * connected streams or streams in the queue.
 *
 * Marble diagrams:
 *
 * ```text
 * --+--------+---------------
 *   \        \
 *    \       ----1----2---3--|
 *    --a--b----c----|
 *     flattenConcurrentlyAtMost(1)
 * -----a--b----c-1----2---3--|
 * ```
 *
 * ```text
 * --+---+---+-|
 *    \   \   \
 *     \   \   ---fgh----i-----jh--|
 *      \   -----1----2----3--|
 *       ---a--b-----c--|
 *     flattenConcurrentlyAtMost(2)
 * ---------a--b-1---c2--i-3------fgh----i-----jh--|
 * ```
 *
 * @return {Stream}
 */
export default function flattenConcurrentlyAtMost<T>(n: number): (ins: Stream<Stream<T> | MemoryStream<T>>) => Stream<T>;

Выполнить команду


Для локальной разработки. Не используйте в интернете!