export type NonNullableString = string & NonNullable; export type ToKebabCase = InputString extends `${infer FirstChar}${infer RemainingString}` ? ToKebabCase ? "" : "-"}${Lowercase}`> : AccumulatorString; export type FromKebabCase = InputString extends `${infer BeforeString}-${infer AfterString}` ? `${BeforeString}${Capitalize>}` : InputString; export type ColonToSnake = InputString extends `${infer BeforeString}:${infer AfterString}` ? `${BeforeString}_${ColonToSnake}` : InputString;