Skip to content

tyneq


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

ParameterTypeDescription
config{ name: string; execute: (source, ...args) => TResult; validate?: (...args) => void; source?: OperatorSource; }-
config.namestringMethod name to expose on ordered sequences.
config.execute(source, ...args) => TResultFunction that consumes the ordered source and returns a result.
config.validate?(...args) => voidOptional 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;
    }
});