Skip to content

Instantly share code, notes, and snippets.

@eddiemoore
Created November 28, 2021 02:04
Show Gist options
  • Save eddiemoore/bd59502aaea8f59fe970e2845a55d129 to your computer and use it in GitHub Desktop.
Save eddiemoore/bd59502aaea8f59fe970e2845a55d129 to your computer and use it in GitHub Desktop.
TypeScript CamelCase type
type CamelCase<T> = T extends `-${infer A}-${infer B}`
? `${A}${Capitalize<CamelCase<B>>}`
: T extends `${infer A}-${infer B}`
? `${A}${Capitalize<CamelCase<B>>}`
: T
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment