diff --git a/snake-case b/snake-case new file mode 100644 index 0000000..e6be0c0 --- /dev/null +++ b/snake-case @@ -0,0 +1,19 @@ +import type { Equal, Expect } from '@type-challenges/utils' + +type cases = [ + Expect, 'hello'>>, + Expect, 'user_name'>>, + Expect, 'get_element_by_id'>>, + Expect, 'get_element_by_id' | 'get_element_by_class_names'>>, +] + +type SnakeCase< + T extends string, + Acc extends string = '', +> = +T extends `${infer Head}${infer Tail}` + ? Head extends Lowercase + ? SnakeCase + : SnakeCase}`> + : Acc +; \ No newline at end of file