UNPKG

toolset.io

Version:

前端开发常用工具集。

41 lines (40 loc) 1.47 kB
/** * 将给定的常量字符串类型拓展为不区分大小写的任意组合 */ export type AnyCase<S> = string extends S ? string : S extends `${infer F1}${infer F2}${infer R}` ? `${Uppercase<F1> | Lowercase<F1>}${Uppercase<F2> | Lowercase<F2>}${AnyCase<R>}` : S extends `${infer F}${infer R}` ? `${Uppercase<F> | Lowercase<F>}${AnyCase<R>}` : ''; /** * 将字面值转换为短横线连接 * * @param value 需要转换的字面值 * * @returns 转换后的短横线连接字面值 * * @example * ```ts * toKebabCase('AaBbCc') // aa-bb-cc * toKebabCase('AABb') // aa-bb * toKebabCase('AAA') // aaa * toKebabCase('AaBb CcDd') // aa-bb cc-dd * ``` */ export declare function toKebabCase(value: string): string; /** * 将给定的常量字符串类型拓展为大驼峰 */ export type CapitalCase<T extends string> = T extends `${infer First} ${infer Rest}` ? CapitalCase<`${First}-${Rest}`> : T extends `${infer First}-${infer Rest}` ? `${Capitalize<First>}${CapitalCase<Rest>}` : Capitalize<T>; /** * 将字面值转换为大驼峰 * * @param value 需要转换的字面值 * * @returns 转换后的大驼峰字面值 */ export declare function toCapitalCase<T extends string>(value: T): CapitalCase<T>; /** * 将字面值转换为小驼峰 * * @param value 需要转换的字面值 * * @returns 转换后的小驼峰字面值 */ export declare function toCamelCase(value: string): string;