tyneq / createOrderedTerminalOperator
Function: createOrderedTerminalOperator()
createOrderedTerminalOperator<
TSource,TArgs,TResult>(config):void
Defined in: src/plugin/registration/createOrderedTerminalOperator.ts:34
Registers a terminal operator available only on ordered sequences.
The execute function receives the full OrderedEnumerable as its first argument, giving access to ordered-sequence members (comparers, parent chain, etc.).
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 ordered sequences. |
config.execute | (source, ...args) => TResult | Function that consumes the ordered source and returns a result. |
config.validate? | (...args) => void | Optional eager validation for user-supplied arguments. |
config.source? | OperatorSource | - |
Returns
void
Example
ts
createOrderedTerminalOperator({
name: "isSorted",
execute(source: OrderedEnumerable<number>): boolean {
const items = [...source];
for (let i = 1; i < items.length; i++) {
if (items[i - 1] > items[i]) return false;
}
return true;
}
});