Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/bombshell-dev/configliere. A statically typed entry-point router for command-line applications
Something went wrong. Try again.
501 B · 14 lines
TypeScript
123456789101112131415import { type ToSnake, toSnake } from "ts-case-convert";
export type EnvCase<S extends string> = Uppercase<ToSnake<S>>;
export type KebabCase<S extends string> = ToSnake<S> extends `${infer Head}_${infer Tail}` ? `${Head}-${KebabCase<Tail>}` : S;
export function toKebabCase<S extends string>(str: S): KebabCase<S> { return toSnake(str).replace("_", "-") as KebabCase<S>;}
export function toEnvCase<S extends string>(str: S): EnvCase<S> { return toSnake(str).toUpperCase() as EnvCase<S>;}