保誠-保戶業務員媒合平台
tomasysh
2022-05-25 43d0eed31f4b2a59e23c06ceba3616aac3f549f6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import {DelimiterCase} from './delimiter-case';
 
/**
Convert a string literal to kebab-case.
 
This can be useful when, for example, converting a camel-cased object property to a kebab-cased CSS class name or a command-line flag.
 
@example
```
import {KebabCase} from 'type-fest';
 
// Simple
 
const someVariable: KebabCase<'fooBar'> = 'foo-bar';
 
// Advanced
 
type KebabCasedProps<T> = {
    [K in keyof T as KebabCase<K>]: T[K]
};
 
interface CliOptions {
    dryRun: boolean;
    includeFile: string;
    foo: number;
}
 
const rawCliOptions: KebabCasedProps<CliOptions> = {
    'dry-run': true,
    'include-file': 'bar.js',
    foo: 123
};
```
*/
 
export type KebabCase<Value> = DelimiterCase<Value, '-'>;