-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathcustom-types.d.ts
More file actions
64 lines (56 loc) · 1.25 KB
/
custom-types.d.ts
File metadata and controls
64 lines (56 loc) · 1.25 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// Support import for custom module extensions
// https://www.typescriptlang.org/docs/handbook/modules.html#wildcard-module-declarations
// Use-cases:
// - mocked "black-boxed" npm-packages
// - webpack-handled imports for custom file extensions (e.g. import svg)
declare module "*.module.css";
declare module "*.module.scss";
//
// Images
//
declare module "*.svg" {
const content: string;
export = content; // base64 data-url, see also `webpack.config.ts`
}
declare module "*.jpg" {
const content: string;
export = content;
}
declare module "*.png" {
const content: string;
export = content;
}
//
// Font URLs
//
declare module "*.woff" {
const content: string;
export = content;
}
declare module "*.ttf" {
const content: string;
export = content;
}
//
// Plain text files
//
declare module "*.txt" {
const content: string;
export = content;
}
declare module "*.md" { // markdown
const content: string;
export = content;
}
declare module "*.ftl" { // fluent (localization)
const content: string;
export = content;
}
//
// Advanced types
//
declare type Writeable<T> = { -readonly [P in keyof T]: T[P] };
declare type ValueOf<T> = T[keyof T];
declare type DeepPartial<T> = {
[K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
}