Microsoft/TypeScript
Voir sur GitHubUncapitalize seems to not working within a type helper
Open
#52 102 ouverte le 4 janv. 2023
BugDomain: Literal TypesHelp Wanted
Métriques du dépôt
- Stars
- (48 455 stars)
- Métriques de merge PR
- (Merge moyen 6j 17h) (9 PRs mergées en 30 j)
Description
Bug Report
🔎 Search Terms
Uncapitalize
🕗 Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about Uncapitalize
⏯ Playground Link
Playground link with relevant code
💻 Code
type CamelCase1<
S extends string,
L extends string = Lowercase<S>,
Res extends string = ""
> = L extends ""
? Uncapitalize<Res>
: L extends `${infer H}_${infer T}`
? CamelCase1<never, T, `${Res}${Capitalize<H>}`>
: CamelCase1<never, "", `${Res}${Capitalize<L>}`>;
type test1 = CamelCase2<"FOOBAR">
// ^? type test1 = "Foobar"
type CamelCase2<
S extends string,
L extends string = Lowercase<S>,
Res extends string = ""
> = L extends ""
? Res
: L extends `${infer H}_${infer T}`
? CamelCase2<never, T, `${Res}${Capitalize<H>}`>
: CamelCase2<never, "", `${Res}${Capitalize<L>}`>;
type test2 = Uncapitalize<CamelCase2<"FOOBAR">>
// ^? type test2 = "foobar"
🙁 Actual behavior
First letter is uppercase
🙂 Expected behavior
First letter should be lowercase