(a1: S, a2: S, cmp: Comparator<S[number]> = compare)
| 183 | } |
| 184 | |
| 185 | export function compareArray<S extends Stream<S>>(a1: S, a2: S, cmp: Comparator<S[number]> = compare): Ordering { |
| 186 | let l1 = a1.length; |
| 187 | let l2 = a2.length; |
| 188 | if (!l1 && !l2) return Ordering.EQ; |
| 189 | |
| 190 | for (let i = 0, l = Math.min(l1, l2); i < l; i++) { |
| 191 | let ord = cmp(a1[i], a2[i]); |
| 192 | if (ord !== Ordering.EQ) return ord; |
| 193 | } |
| 194 | return compare(l1, l2); |
| 195 | } |
| 196 | |
| 197 | /** |
| 198 | Support custom equals method via Eq<T> interface |
no test coverage detected