forked from linsizao/viteconf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathglobal.d.ts
50 lines (43 loc) · 1.18 KB
/
global.d.ts
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
/// <reference types="vite/client" />
/**
* Copied from https://github.com/PuruVJ/macos-web/blob/main/src/global.d.ts
*/
declare module '*&imagetools' {
/**
* actual types
* - code https://github.com/JonasKruckenberg/imagetools/blob/main/packages/core/src/output-formats.ts
* - docs https://github.com/JonasKruckenberg/imagetools/blob/main/docs/guide/getting-started.md#metadata
*/
const out;
export default out;
}
type ObjectKeys<Obj> = Obj extends object
? (keyof Obj)[]
: Obj extends number
? []
: Obj extends Array<any> | string
? string[]
: never;
interface ObjectConstructor {
keys<ObjectType>(o: ObjectType): ObjectKeys<ObjectType>;
entries<ObjType>(
o: ObjType
): [Unpacked<ObjectKeys<ObjType>>, ObjType[keyof ObjType]][];
values<ObjType>(o: ObjType): ObjType[keyof ObjType][];
}
interface Storage {
getItem<T extends string>(key: string): T | null;
}
type Unpacked<ArrayLike> = ArrayLike extends (infer RootType)[]
? RootType
: ArrayLike;
type Unpromisify<PromiseLike> = PromiseLike extends Promise<infer RootType>
? RootType
: PromiseLike;
interface Array<T> {
fill<T extends any>(
value: T,
start?: number | undefined,
end?: number | undefined
): T[];
}