Skip to content

Commit 979eccf

Browse files
authored
StringSlice: Fix return type when passing in non-literal (#1036)
1 parent 69bfd51 commit 979eccf

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

source/string-slice.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export type StringSlice<
3131
Start extends number = 0,
3232
End extends number = StringToArray<S>['length'],
3333
> = string extends S
34-
? string[]
34+
? string
3535
: ArraySlice<StringToArray<S>, Start, End> extends infer R extends readonly string[]
3636
? Join<R, ''>
3737
: never;

test-d/string-slice.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ expectType<StringSlice<'abcde', -100, -3>>('ab');
1212
expectType<StringSlice<'abcde', 3, 100>>('de');
1313
expectType<StringSlice<'abcde', 1, 1>>('');
1414
expectType<StringSlice<'abcde', 100, 1>>('');
15+
expectType<StringSlice<string>>(null! as string);
16+
expectType<StringSlice<string, 1>>(null! as string);
17+
expectType<StringSlice<string, 1, 2>>(null! as string);

0 commit comments

Comments
 (0)