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
| Parameter | Type | Description |
|---|---|---|
config | { name: string; execute: (source, ...args) => TResult; validate?: (...args) => void; source?: OperatorSource; } | - |
config.name | string | Method name to expose on every sequence. |
config.execute | (source, ...args) => TResult | Function that consumes the source and returns a result. |
config.validate? | (...args) => void | Optional 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;
}
});