froebel
Version:
TypeScript utility library
23 lines • 212 kB
TypeScript
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 :