UNPKG

froebel

Version:
23 lines 212 kB
import type { CamelCase, KebabCase, PascalCase, ScreamingSnakeCase, SnakeCase, StringCase } from "./types"; /** Upper-case first letter of string. */ export declare const capitalize: <T extends string>(str: T) => Capitalize<T>; /** Lower-case first letter of string */ export declare const uncapitalize: <T extends string>(str: T) => Uncapitalize<T>; /** Strictly typed `String.toUpperCase()`. */ export declare const upper: <T extends string>(str: T) => Uppercase<T>; /** Strictly typed `String.toLowerCase()`. */ export declare const lower: <T extends string>(str: T) => Lowercase<T>; /** * Transforms a variable name to snake case. * * Note: The rules for transforming anything to snake case are somewhat vague. * So use this only for very simple names where the resulting value is * absolutely unambiguous. For more examples of how names are transformed, have * a look at the test cases. * * @example * ``` * snake('fooBar') // 'foo_bar' * ``` */ export declare const snake: <T extends string>(str: T) => T extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${R extends `${infer A}${infer B}${infer C}${infer R}` ? Lowercase<A> extends A ? A extends "_" | "-" ? `_${Lowercase<B>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<B> extends B ? `${A}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : Lowercase<C> extends C ? `${A}_${Lowercase<B>}${C}${any}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : R}` : `${A}_${`${B}${C}${R}` extends infer T_7 ? T_7 extends `${B}${C}${R}` ? T_7 extends `${B}${C}${R}` ? Uppercase<`${B}`> extends `${B}` ? `${B}${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : `_${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_2 : never : never}` : T_7 : never : never}` : `${Lowercase<A>}${`${B}${C}${R}` extends infer T_2 ? T_2 extends `${B}${C}${R}` ? T_2 extends `${infer B}${infer C}${infer R}` ? Lowercase<`${B}`> extends `${B}` ? `${B}` extends infer T_3 ? T_3 extends `${B}` ? T_3 extends "_" | "-" ? `_${Lowercase<`${C}`>}${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : Lowercase<`${C}`> extends `${C}` ? `${T_3}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : Lowercase<`${R}`> extends `${R}` ? `${T_3}_${Lowercase<`${C}`>}${R}` : `${T_3}_${`${C}${R}` extends infer T_5 ? T_5 extends `${C}${R}` ? T_5 extends `${C}${R}` ? Uppercase<`${C}`> extends `${C}` ? `${C}${`${R}` extends infer T_6 ? T_6 extends `${R}` ? T_6 extends `${R}` ? Uppercase<`${R}`> extends `${R}` ? `${R}` : `_${`${R}` extends infer T_4 ? T_4 extends `${R}` ? T_4 extends never ? never : T_4 : never : never}` : T_6 : never : never}` : `_${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 : never : never}` : T_5 : never : never}` : never : never : `${Lowercase<`${B}`>}${`${C}${R}` extends infer T_1 ? T_1 extends `${C}${R}` ? T_1 extends never ? never : T_1 :