-
Notifications
You must be signed in to change notification settings - Fork 14
/
index.d.ts
123 lines (104 loc) · 2.41 KB
/
index.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
export interface streamUploadInput {
apiKey: string,
apiSecret: string,
data: any,
key: string,
bucket?: string,
}
export interface streamUploadOutput {
hash: string,
hashV0: string,
key: string,
bucket: string,
publicUrl: string,
}
export type streamUploadType = (input: streamUploadInput) => Promise<streamUploadOutput>;
export interface uploadInput {
apiKey: string,
apiSecret: string,
data: any,
key: string,
bucket?: string,
httpUploadProgressCallback ?: (event: any) => void,
}
export interface uploadOutput {
hash: string,
hashV0: string,
key: string,
bucket: string,
publicUrl: string,
}
export type uploadType = (input: uploadInput) => Promise<uploadOutput>;
export interface getFileFromHashInput {
hash: string,
getFileFromHashOptions?: string[],
}
export enum getFileFromHashOptionsValues {
buffer = 'buffer',
}
export enum getOptionsValues {
data = 'data',
bucket = 'bucket',
hash = 'hash',
key = 'key',
publicUrl = 'publicUrl',
}
export interface getInput {
apiKey: string,
apiSecret: string,
key: string,
bucket?: string,
getOptions?: string[],
}
export interface getOutput {
data?: any,
bucket?: string,
hash?: string,
key?: string,
publicUrl?: string,
}
export interface listBucketsInput {
apiKey: string,
apiSecret: string,
}
export interface listBucketsOutput {
name: string,
}
export enum getOptionsListFiles {
key = 'key',
bucket = 'bucket',
publicUrl = 'publicUrl',
hash = 'hash',
}
export interface listFilesInput {
apiKey: string,
apiSecret: string,
bucket?: string,
prefix?: string,
getOptions?: string[],
}
export interface listFilesOutput {
key?: string,
bucket?: string,
publicUrl?: string,
hash?: string,
}
export interface deleteFileInput {
apiKey: string,
apiSecret: string,
bucket?: string,
key: string,
}
export interface deleteFileOutput {
key: string,
bucket: string,
}
declare module "@fleekhq/fleek-storage-js" {
export const upload: uploadType;
export const streamUpload: streamUploadType;
export const get: (input: getInput) => Promise<getOutput>;
export const getFileFromHash: (input: getFileFromHashInput) => Promise<any>;
export const listBuckets: (input: listBucketsInput) => Promise<listBucketsOutput[]>;
export const listFiles: (input: listFilesInput) => Promise<listFilesOutput[]>;
export const deleteFile: (input: deleteFileInput) => Promise<deleteFileOutput>;
}