This solution is generated by ChatGPT, correctness is not guaranteed.
AI solution for TypeScript puzzle on BFE.dev
53. Implement SnakeCase<S>
type SnakeCase<S extends string> = S extends `${infer T}${infer U}`
? T extends Uppercase<T>
? `${T extends "" ? "" : "_"}${Lowercase<T>}${SnakeCase<U>}`
: `${T}${SnakeCase<U>}`
: "";
// Test
type A = SnakeCase<'BigFrontEnd'> // expected to be 'big_front_end'