1
0

properly implement comparer and equality comparer combination

This commit is contained in:
Herve BECHER
2025-10-28 16:12:34 +01:00
parent 5852319315
commit 8a2c3f8e98
6 changed files with 142 additions and 18 deletions

View File

@@ -1,7 +1,7 @@
import { BaseAsyncSequence } from "../async/impl.js";
import { AsyncSequence } from "../async/types.js";
import { Collector } from "../collector/types.js";
import { asComparer, combineNullableComparers, createComparerUsing, defaultComparer } from "../comparer/sync.js";
import { asComparer, combineComparers, createComparerUsing, defaultComparer } from "../comparer/sync.js";
import { ComparisonOrComparer, Comparer } from "../comparer/types.js";
import { asEqualityComparer, defaultEqualityComparer } from "../equality-comparer/sync.js";
import { EqualityComparer, EqualityComparisonOrComparer } from "../equality-comparer/types.js";
@@ -1974,13 +1974,13 @@ class OrderBySequence<T, U> extends BaseOrderedSequence<T> {
class ThenOrderSequence<T> extends BaseOrderedSequence<T> {
constructor(sequence: OrderedSequence<T>, descending: boolean, sorter?: ComparisonOrComparer<T>) {
super(sequence, combineNullableComparers([sequence.comparer, sorter]), descending);
super(sequence, combineComparers([sequence.comparer, sorter]), descending);
}
}
class ThenOrderBySequence<T, U> extends BaseOrderedSequence<T> {
constructor(sequence: OrderedSequence<T>, descending: boolean, selector: Converter<T, U>, sorter?: ComparisonOrComparer<U>) {
super(sequence, combineNullableComparers([sequence.comparer, createComparerUsing(selector, sorter)]), descending);
super(sequence, combineComparers([sequence.comparer, createComparerUsing(selector, sorter)]), descending);
}
}