Skip to content

Commit 86faca3

Browse files
committed
fix(except): special treatment for string
1 parent 7d46f15 commit 86faca3

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

Diff for: src/enumerable.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ export class Enumerable<T> implements Iterable<T> {
477477
*/
478478
public except(iterable: Iterable<T>): this;
479479
@parse((_thisRef: Enumerable<T>, itemOrIterable: T | Iterable<T>) => {
480-
if (!Utils.isIterable(itemOrIterable)) {
480+
if (!Utils.isIterable(itemOrIterable) || typeof itemOrIterable === 'string') {
481481
return [(x: T) => x !== itemOrIterable];
482482
}
483483
const set = new Set(itemOrIterable as Iterable<T>);

Diff for: src/test/enumerable.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1256,8 +1256,8 @@ describe('Enumerable', () => {
12561256
expect(new Enumerable([1, 2, 3]).except(0).toArray()).toEqual([1, 2, 3]);
12571257

12581258
jsc.assertForall(
1259-
jsc.array(jsc.nat), jsc.nat,
1260-
(xs: number[], a: number) =>
1259+
jsc.array(jsc.string), jsc.string,
1260+
(xs: string[], a: string) =>
12611261
!new Enumerable(xs).except(a).contains(a)
12621262
);
12631263
});

0 commit comments

Comments
 (0)