Skip to content

Commit a4eb773

Browse files
committed
feat: add 0651-hard-length-of-string-2
1 parent 9d0573d commit a4eb773

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export type LengthOfString<
2+
S extends string,
3+
Rest extends unknown[] = []
4+
> = S extends `${infer F}${infer R}`
5+
? LengthOfString<R, [...Rest, F]>
6+
: Rest["length"];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import type { Equal, IsTrue } from "@type-challenges/utils";
2+
import type { LengthOfString } from "./template";
3+
4+
type cases = [
5+
IsTrue<Equal<LengthOfString<"">, 0>>,
6+
IsTrue<Equal<LengthOfString<"1">, 1>>,
7+
IsTrue<Equal<LengthOfString<"12">, 2>>,
8+
IsTrue<Equal<LengthOfString<"123">, 3>>,
9+
IsTrue<Equal<LengthOfString<"1234">, 4>>,
10+
IsTrue<Equal<LengthOfString<"12345">, 5>>,
11+
IsTrue<Equal<LengthOfString<"123456">, 6>>,
12+
IsTrue<Equal<LengthOfString<"1234567">, 7>>,
13+
IsTrue<Equal<LengthOfString<"12345678">, 8>>,
14+
IsTrue<Equal<LengthOfString<"123456789">, 9>>,
15+
IsTrue<Equal<LengthOfString<"1234567890">, 10>>,
16+
IsTrue<Equal<LengthOfString<"12345678901">, 11>>,
17+
IsTrue<Equal<LengthOfString<"123456789012">, 12>>,
18+
IsTrue<Equal<LengthOfString<"1234567890123">, 13>>,
19+
IsTrue<Equal<LengthOfString<"12345678901234">, 14>>,
20+
IsTrue<Equal<LengthOfString<"123456789012345">, 15>>,
21+
IsTrue<Equal<LengthOfString<"1234567890123456">, 16>>,
22+
IsTrue<Equal<LengthOfString<"12345678901234567">, 17>>,
23+
IsTrue<Equal<LengthOfString<"123456789012345678">, 18>>,
24+
IsTrue<Equal<LengthOfString<"1234567890123456789">, 19>>,
25+
IsTrue<Equal<LengthOfString<"12345678901234567890">, 20>>,
26+
IsTrue<Equal<LengthOfString<"123456789012345678901">, 21>>,
27+
IsTrue<Equal<LengthOfString<"1234567890123456789012">, 22>>,
28+
IsTrue<Equal<LengthOfString<"12345678901234567890123">, 23>>,
29+
IsTrue<
30+
Equal<
31+
LengthOfString<"aaaaaaaaaaaaggggggggggggggggggggkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">,
32+
272
33+
>
34+
>
35+
];

0 commit comments

Comments
 (0)