.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / type-fest / ts41 / snake-case.d.ts
1 import {DelimiterCase} from './delimiter-case';
2
3 /**
4 Convert a string literal to snake-case.
5
6 This can be useful when, for example, converting a camel-cased object property to a snake-cased SQL column name.
7
8 @example
9 ```
10 import {SnakeCase} from 'type-fest';
11
12 // Simple
13
14 const someVariable: SnakeCase<'fooBar'> = 'foo_bar';
15
16 // Advanced
17
18 type SnakeCasedProps<T> = {
19         [K in keyof T as SnakeCase<K>]: T[K]
20 };
21
22 interface ModelProps {
23         isHappy: boolean;
24         fullFamilyName: string;
25         foo: number;
26 }
27
28 const dbResult: SnakeCasedProps<ModelProps> = {
29         'is_happy': true,
30         'full_family_name': 'Carla Smith',
31         foo: 123
32 };
33 ```
34 */
35 export type SnakeCase<Value> = DelimiterCase<Value, '_'>;