Skip to content

tyneq


tyneq / createTerminalOperator

Function: createTerminalOperator()

createTerminalOperator<TSource, TArgs, TResult>(config): void

Defined in: src/plugin/registration/createTerminalOperator.ts:32

Registers a terminal operator using a plain function.

The simplest registration API for terminal operators. execute receives the full source sequence and any user arguments and returns a concrete value.

Type Parameters

Type Parameter
TSource
TArgs extends unknown[]
TResult

Parameters

ParameterTypeDescription
config{ name: string; execute: (source, ...args) => TResult; validate?: (...args) => void; source?: OperatorSource; }-
config.namestringMethod name to expose on every sequence.
config.execute(source, ...args) => TResultFunction that consumes the source and returns a result.
config.validate?(...args) => voidOptional eager validation for user-supplied arguments.
config.source?OperatorSource-

Returns

void

Example

ts
import { createTerminalOperator } from "tyneq/plugin";

createTerminalOperator({
    name: "product",
    execute(source: Iterable<number>): number {
        let result = 1;
        for (const item of source) result *= item;
        return result;
    }
});