@commercelayer/react-components
Version:
The Official Commerce Layer React Components
15 lines (14 loc) • 668 B
TypeScript
export type SnakeToCamelCase<S extends string> = S extends `${infer T}_${infer U}` ? `${Lowercase<T>}${Capitalize<SnakeToCamelCase<U>>}` : S;
export type SnakeToCamelCaseNested<T> = T extends object ? {
[K in keyof T as SnakeToCamelCase<K & string>]: SnakeToCamelCaseNested<T[K]>;
} : T;
/**
*
* @param value - The string to convert from snake_case to camelCase
* @example
* snakeToCamelCase("hello_world") // "helloWorld"
* snakeToCamelCase("hello_world_test") // "helloWorldTest"
* @returns string
* @description Converts a string from snake_case to camelCase
*/
export declare function snakeToCamelCase<S extends string>(value: S): SnakeToCamelCase<S>;