Microsoft/TypeScript
Ver no GitHubUncapitalize seems to not working within a type helper
Open
#52.102 aberto em 4 de jan. de 2023
BugDomain: Literal TypesHelp Wanted
Métricas do repositório
- Stars
- (48.455 stars)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)
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