Skip to content

Commit 67745a3

Browse files
committed
castSegments: Remove unnecessary handling of nested array and non-array cases that don't actually occur
1 parent 2908684 commit 67745a3

File tree

2 files changed

+3
-15
lines changed

2 files changed

+3
-15
lines changed

src/util.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,15 @@ class AsyncGroup {
3939
}
4040
}
4141

42-
function castSegment(segment: string): string | number {
42+
function castSegment(segment: string | number): string | number {
4343
return (typeof segment === 'string' && isArrayIndex(segment))
4444
? +segment // sneaky op to convert numeric string to number
4545
: segment;
4646
}
4747

48-
export function castSegments(segments: Readonly<string | string[]>) {
49-
if (typeof segments === 'string') {
50-
return castSegment(segments);
51-
}
48+
export function castSegments(segments: Readonly<Array<string | number>>) {
5249
// Cast number path segments from strings to numbers
53-
return segments.map(segment =>
54-
Array.isArray(segment)
55-
? castSegments(segment)
56-
: castSegment(segment)
57-
);
50+
return segments.map(segment => castSegment(segment));
5851
}
5952

6053
export function contains(segments, testSegments) {

test/util/util.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,5 @@ describe('util', function() {
8989
expect(actual).to.eql(['foo', 3, 3]);
9090
expect(actual).to.not.equal(segments); // args not mutated
9191
});
92-
93-
it('handles plain strings', () => {
94-
expect(util.castSegments('foo.bar')).to.eql('foo.bar');
95-
expect(util.castSegments('6')).to.eql(6);
96-
});
9792
});
9893
});

0 commit comments

Comments
 (0)