import { IsAlphabet } from '../../commonness/IsAlphabet'; /** * * Convert a string to camel case * * 문자열을 카멜 케이스로 변환 * * @param S String / 문자열 * * @returns Camel case string / 카멜 케이스 문자열 * * @example * type cases = [ * Expect, 'foo_Bar'>>, * Expect, 'foo_$bar'>>, * Expect, 'fooBar_'>>, * ]; * * @link https://www.utilscript.site/docs/usage-string/camel-case * */ export type CamelCase = S extends `${infer Left}${infer Center}${infer Right}` ? Left extends '_' | '-' ? IsAlphabet
extends true ? `${Uppercase
}${CamelCase}` : `${Left}${CamelCase<`${Center}${Right}`>}` : `${Lowercase}${CamelCase<`${Center}${Right}`>}` : Lowercase;