@kevisual/api 0.0.46 → 0.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/query-ai.d.ts +78 -0
- package/dist/query-ai.js +472 -0
- package/dist/query-app.d.ts +39 -0
- package/dist/query-app.js +530 -0
- package/dist/query-config.d.ts +71 -0
- package/dist/query-config.js +336 -0
- package/dist/query-login.d.ts +299 -0
- package/dist/query-login.js +1407 -0
- package/dist/query-proxy.d.ts +215 -0
- package/dist/query-proxy.js +10514 -0
- package/dist/query-remote.d.ts +1 -0
- package/dist/query-remote.js +433 -0
- package/dist/query-resources.d.ts +58 -0
- package/dist/query-resources.js +1734 -0
- package/dist/query-secret.d.ts +45 -0
- package/dist/query-secret.js +299 -0
- package/dist/query-shop.d.ts +12 -0
- package/dist/query-shop.js +447 -0
- package/dist/query-upload.d.ts +153 -0
- package/dist/query-upload.js +355 -0
- package/dist/utils.d.ts +33 -0
- package/dist/utils.js +68 -0
- package/package.json +2 -2
- package/query/query-remote/index.ts +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RemoteApp } from '@kevisual/remote-app';
|
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
// node_modules/.pnpm/@kevisual+remote-app@0.0.4/node_modules/@kevisual/remote-app/dist/app.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
19
|
+
var require_eventemitter3 = __commonJS((exports, module) => {
|
|
20
|
+
var has = Object.prototype.hasOwnProperty;
|
|
21
|
+
var prefix = "~";
|
|
22
|
+
function Events() {}
|
|
23
|
+
if (Object.create) {
|
|
24
|
+
Events.prototype = Object.create(null);
|
|
25
|
+
if (!new Events().__proto__)
|
|
26
|
+
prefix = false;
|
|
27
|
+
}
|
|
28
|
+
function EE(fn, context, once) {
|
|
29
|
+
this.fn = fn;
|
|
30
|
+
this.context = context;
|
|
31
|
+
this.once = once || false;
|
|
32
|
+
}
|
|
33
|
+
function addListener(emitter, event, fn, context, once) {
|
|
34
|
+
if (typeof fn !== "function") {
|
|
35
|
+
throw new TypeError("The listener must be a function");
|
|
36
|
+
}
|
|
37
|
+
var listener = new EE(fn, context || emitter, once), evt = prefix ? prefix + event : event;
|
|
38
|
+
if (!emitter._events[evt])
|
|
39
|
+
emitter._events[evt] = listener, emitter._eventsCount++;
|
|
40
|
+
else if (!emitter._events[evt].fn)
|
|
41
|
+
emitter._events[evt].push(listener);
|
|
42
|
+
else
|
|
43
|
+
emitter._events[evt] = [emitter._events[evt], listener];
|
|
44
|
+
return emitter;
|
|
45
|
+
}
|
|
46
|
+
function clearEvent(emitter, evt) {
|
|
47
|
+
if (--emitter._eventsCount === 0)
|
|
48
|
+
emitter._events = new Events;
|
|
49
|
+
else
|
|
50
|
+
delete emitter._events[evt];
|
|
51
|
+
}
|
|
52
|
+
function EventEmitter() {
|
|
53
|
+
this._events = new Events;
|
|
54
|
+
this._eventsCount = 0;
|
|
55
|
+
}
|
|
56
|
+
EventEmitter.prototype.eventNames = function eventNames() {
|
|
57
|
+
var names = [], events, name;
|
|
58
|
+
if (this._eventsCount === 0)
|
|
59
|
+
return names;
|
|
60
|
+
for (name in events = this._events) {
|
|
61
|
+
if (has.call(events, name))
|
|
62
|
+
names.push(prefix ? name.slice(1) : name);
|
|
63
|
+
}
|
|
64
|
+
if (Object.getOwnPropertySymbols) {
|
|
65
|
+
return names.concat(Object.getOwnPropertySymbols(events));
|
|
66
|
+
}
|
|
67
|
+
return names;
|
|
68
|
+
};
|
|
69
|
+
EventEmitter.prototype.listeners = function listeners(event) {
|
|
70
|
+
var evt = prefix ? prefix + event : event, handlers = this._events[evt];
|
|
71
|
+
if (!handlers)
|
|
72
|
+
return [];
|
|
73
|
+
if (handlers.fn)
|
|
74
|
+
return [handlers.fn];
|
|
75
|
+
for (var i = 0, l = handlers.length, ee = new Array(l);i < l; i++) {
|
|
76
|
+
ee[i] = handlers[i].fn;
|
|
77
|
+
}
|
|
78
|
+
return ee;
|
|
79
|
+
};
|
|
80
|
+
EventEmitter.prototype.listenerCount = function listenerCount(event) {
|
|
81
|
+
var evt = prefix ? prefix + event : event, listeners = this._events[evt];
|
|
82
|
+
if (!listeners)
|
|
83
|
+
return 0;
|
|
84
|
+
if (listeners.fn)
|
|
85
|
+
return 1;
|
|
86
|
+
return listeners.length;
|
|
87
|
+
};
|
|
88
|
+
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
|
89
|
+
var evt = prefix ? prefix + event : event;
|
|
90
|
+
if (!this._events[evt])
|
|
91
|
+
return false;
|
|
92
|
+
var listeners = this._events[evt], len = arguments.length, args, i;
|
|
93
|
+
if (listeners.fn) {
|
|
94
|
+
if (listeners.once)
|
|
95
|
+
this.removeListener(event, listeners.fn, undefined, true);
|
|
96
|
+
switch (len) {
|
|
97
|
+
case 1:
|
|
98
|
+
return listeners.fn.call(listeners.context), true;
|
|
99
|
+
case 2:
|
|
100
|
+
return listeners.fn.call(listeners.context, a1), true;
|
|
101
|
+
case 3:
|
|
102
|
+
return listeners.fn.call(listeners.context, a1, a2), true;
|
|
103
|
+
case 4:
|
|
104
|
+
return listeners.fn.call(listeners.context, a1, a2, a3), true;
|
|
105
|
+
case 5:
|
|
106
|
+
return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
|
|
107
|
+
case 6:
|
|
108
|
+
return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
|
|
109
|
+
}
|
|
110
|
+
for (i = 1, args = new Array(len - 1);i < len; i++) {
|
|
111
|
+
args[i - 1] = arguments[i];
|
|
112
|
+
}
|
|
113
|
+
listeners.fn.apply(listeners.context, args);
|
|
114
|
+
} else {
|
|
115
|
+
var length = listeners.length, j;
|
|
116
|
+
for (i = 0;i < length; i++) {
|
|
117
|
+
if (listeners[i].once)
|
|
118
|
+
this.removeListener(event, listeners[i].fn, undefined, true);
|
|
119
|
+
switch (len) {
|
|
120
|
+
case 1:
|
|
121
|
+
listeners[i].fn.call(listeners[i].context);
|
|
122
|
+
break;
|
|
123
|
+
case 2:
|
|
124
|
+
listeners[i].fn.call(listeners[i].context, a1);
|
|
125
|
+
break;
|
|
126
|
+
case 3:
|
|
127
|
+
listeners[i].fn.call(listeners[i].context, a1, a2);
|
|
128
|
+
break;
|
|
129
|
+
case 4:
|
|
130
|
+
listeners[i].fn.call(listeners[i].context, a1, a2, a3);
|
|
131
|
+
break;
|
|
132
|
+
default:
|
|
133
|
+
if (!args)
|
|
134
|
+
for (j = 1, args = new Array(len - 1);j < len; j++) {
|
|
135
|
+
args[j - 1] = arguments[j];
|
|
136
|
+
}
|
|
137
|
+
listeners[i].fn.apply(listeners[i].context, args);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return true;
|
|
142
|
+
};
|
|
143
|
+
EventEmitter.prototype.on = function on(event, fn, context) {
|
|
144
|
+
return addListener(this, event, fn, context, false);
|
|
145
|
+
};
|
|
146
|
+
EventEmitter.prototype.once = function once(event, fn, context) {
|
|
147
|
+
return addListener(this, event, fn, context, true);
|
|
148
|
+
};
|
|
149
|
+
EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
|
|
150
|
+
var evt = prefix ? prefix + event : event;
|
|
151
|
+
if (!this._events[evt])
|
|
152
|
+
return this;
|
|
153
|
+
if (!fn) {
|
|
154
|
+
clearEvent(this, evt);
|
|
155
|
+
return this;
|
|
156
|
+
}
|
|
157
|
+
var listeners = this._events[evt];
|
|
158
|
+
if (listeners.fn) {
|
|
159
|
+
if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
|
|
160
|
+
clearEvent(this, evt);
|
|
161
|
+
}
|
|
162
|
+
} else {
|
|
163
|
+
for (var i = 0, events = [], length = listeners.length;i < length; i++) {
|
|
164
|
+
if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
|
|
165
|
+
events.push(listeners[i]);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (events.length)
|
|
169
|
+
this._events[evt] = events.length === 1 ? events[0] : events;
|
|
170
|
+
else
|
|
171
|
+
clearEvent(this, evt);
|
|
172
|
+
}
|
|
173
|
+
return this;
|
|
174
|
+
};
|
|
175
|
+
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
|
|
176
|
+
var evt;
|
|
177
|
+
if (event) {
|
|
178
|
+
evt = prefix ? prefix + event : event;
|
|
179
|
+
if (this._events[evt])
|
|
180
|
+
clearEvent(this, evt);
|
|
181
|
+
} else {
|
|
182
|
+
this._events = new Events;
|
|
183
|
+
this._eventsCount = 0;
|
|
184
|
+
}
|
|
185
|
+
return this;
|
|
186
|
+
};
|
|
187
|
+
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
|
188
|
+
EventEmitter.prototype.addListener = EventEmitter.prototype.on;
|
|
189
|
+
EventEmitter.prefixed = prefix;
|
|
190
|
+
EventEmitter.EventEmitter = EventEmitter;
|
|
191
|
+
if (typeof module !== "undefined") {
|
|
192
|
+
module.exports = EventEmitter;
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
var import__ = __toESM(require_eventemitter3(), 1);
|
|
196
|
+
|
|
197
|
+
class RemoteApp {
|
|
198
|
+
mainApp;
|
|
199
|
+
url;
|
|
200
|
+
id;
|
|
201
|
+
emitter;
|
|
202
|
+
isConnected;
|
|
203
|
+
ws;
|
|
204
|
+
remoteIsConnected;
|
|
205
|
+
isError = false;
|
|
206
|
+
autoReconnect;
|
|
207
|
+
maxReconnectAttempts;
|
|
208
|
+
reconnectDelay;
|
|
209
|
+
maxReconnectDelay;
|
|
210
|
+
enableBackoff;
|
|
211
|
+
reconnectAttempts = 0;
|
|
212
|
+
reconnectTimer = null;
|
|
213
|
+
isManuallyClosed = false;
|
|
214
|
+
constructor(opts) {
|
|
215
|
+
this.mainApp = opts?.app;
|
|
216
|
+
const token = opts.token;
|
|
217
|
+
const url = opts.url;
|
|
218
|
+
const id = opts.id;
|
|
219
|
+
this.emitter = opts?.emitter || new import__.default;
|
|
220
|
+
const _url = new URL(url);
|
|
221
|
+
if (token) {
|
|
222
|
+
_url.searchParams.set("token", token);
|
|
223
|
+
}
|
|
224
|
+
_url.searchParams.set("id", id);
|
|
225
|
+
this.url = _url.toString();
|
|
226
|
+
this.id = id;
|
|
227
|
+
this.autoReconnect = opts?.autoReconnect ?? true;
|
|
228
|
+
this.maxReconnectAttempts = opts?.maxReconnectAttempts ?? Infinity;
|
|
229
|
+
this.reconnectDelay = opts?.reconnectDelay ?? 1000;
|
|
230
|
+
this.maxReconnectDelay = opts?.maxReconnectDelay ?? 30000;
|
|
231
|
+
this.enableBackoff = opts?.enableBackoff ?? true;
|
|
232
|
+
this.init();
|
|
233
|
+
}
|
|
234
|
+
async isConnect() {
|
|
235
|
+
const that = this;
|
|
236
|
+
if (this.isConnected) {
|
|
237
|
+
return true;
|
|
238
|
+
}
|
|
239
|
+
if (this.reconnectTimer !== null) {
|
|
240
|
+
console.log(`远程应用 ${this.id} 正在重连中...`);
|
|
241
|
+
}
|
|
242
|
+
return new Promise((resolve) => {
|
|
243
|
+
const timeout = setTimeout(() => {
|
|
244
|
+
resolve(false);
|
|
245
|
+
that.emitter.off("open", listenOnce);
|
|
246
|
+
}, 5000);
|
|
247
|
+
const listenOnce = () => {
|
|
248
|
+
clearTimeout(timeout);
|
|
249
|
+
that.isConnected = true;
|
|
250
|
+
that.remoteIsConnected = true;
|
|
251
|
+
resolve(true);
|
|
252
|
+
};
|
|
253
|
+
that.emitter.once("open", listenOnce);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
getWsURL(url) {
|
|
257
|
+
const { protocol } = new URL(url);
|
|
258
|
+
const wsProtocol = protocol === "https:" ? "wss:" : "ws:";
|
|
259
|
+
const wsURL = url.toString().replace(protocol, wsProtocol);
|
|
260
|
+
return wsURL;
|
|
261
|
+
}
|
|
262
|
+
async init() {
|
|
263
|
+
if (!this.url) {
|
|
264
|
+
throw new Error("No url provided for remote app");
|
|
265
|
+
}
|
|
266
|
+
if (!this.id) {
|
|
267
|
+
throw new Error("No id provided for remote app");
|
|
268
|
+
}
|
|
269
|
+
this.isError = false;
|
|
270
|
+
if (this.ws) {
|
|
271
|
+
this.ws.close();
|
|
272
|
+
}
|
|
273
|
+
const ws = new WebSocket(this.getWsURL(this.url));
|
|
274
|
+
const that = this;
|
|
275
|
+
ws.onopen = function() {
|
|
276
|
+
that.isConnected = true;
|
|
277
|
+
that.onOpen();
|
|
278
|
+
};
|
|
279
|
+
ws.onclose = function() {
|
|
280
|
+
that.isConnected = false;
|
|
281
|
+
that.onClose();
|
|
282
|
+
};
|
|
283
|
+
ws.onmessage = function(event) {
|
|
284
|
+
that.onMessage(event.data);
|
|
285
|
+
};
|
|
286
|
+
ws.onerror = function(error) {
|
|
287
|
+
that.onError(error);
|
|
288
|
+
};
|
|
289
|
+
this.ws = ws;
|
|
290
|
+
}
|
|
291
|
+
onOpen() {
|
|
292
|
+
this.isError = false;
|
|
293
|
+
this.reconnectAttempts = 0;
|
|
294
|
+
if (this.reconnectTimer) {
|
|
295
|
+
clearTimeout(this.reconnectTimer);
|
|
296
|
+
this.reconnectTimer = null;
|
|
297
|
+
}
|
|
298
|
+
this.emitter.emit("open", this.id);
|
|
299
|
+
}
|
|
300
|
+
onClose() {
|
|
301
|
+
console.log("远程应用关闭:", this.id);
|
|
302
|
+
this.isConnected = false;
|
|
303
|
+
this.emitter.emit("close", this.id);
|
|
304
|
+
if (this.autoReconnect && !this.isManuallyClosed) {
|
|
305
|
+
this.scheduleReconnect();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
calculateReconnectDelay() {
|
|
309
|
+
if (!this.enableBackoff) {
|
|
310
|
+
return this.reconnectDelay;
|
|
311
|
+
}
|
|
312
|
+
const delay = this.reconnectDelay * Math.pow(2, this.reconnectAttempts);
|
|
313
|
+
return Math.min(delay, this.maxReconnectDelay);
|
|
314
|
+
}
|
|
315
|
+
scheduleReconnect() {
|
|
316
|
+
if (this.reconnectAttempts >= this.maxReconnectAttempts) {
|
|
317
|
+
console.error(`远程应用 ${this.id} 已达到最大重连次数 ${this.maxReconnectAttempts},停止重连`);
|
|
318
|
+
this.emitter.emit("maxReconnectAttemptsReached", this.id);
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
if (this.reconnectTimer) {
|
|
322
|
+
clearTimeout(this.reconnectTimer);
|
|
323
|
+
}
|
|
324
|
+
const delay = this.calculateReconnectDelay();
|
|
325
|
+
this.reconnectAttempts++;
|
|
326
|
+
console.log(`远程应用 ${this.id} 将在 ${delay}ms 后尝试第 ${this.reconnectAttempts} 次重连`);
|
|
327
|
+
this.reconnectTimer = setTimeout(() => {
|
|
328
|
+
this.reconnectTimer = null;
|
|
329
|
+
try {
|
|
330
|
+
this.init();
|
|
331
|
+
} catch (error) {
|
|
332
|
+
console.error(`远程应用 ${this.id} 重连失败:`, error);
|
|
333
|
+
this.emitter.emit("reconnectFailed", { id: this.id, attempt: this.reconnectAttempts, error });
|
|
334
|
+
this.scheduleReconnect();
|
|
335
|
+
}
|
|
336
|
+
}, delay);
|
|
337
|
+
}
|
|
338
|
+
disconnect() {
|
|
339
|
+
this.isManuallyClosed = true;
|
|
340
|
+
this.autoReconnect = false;
|
|
341
|
+
if (this.reconnectTimer) {
|
|
342
|
+
clearTimeout(this.reconnectTimer);
|
|
343
|
+
this.reconnectTimer = null;
|
|
344
|
+
}
|
|
345
|
+
if (this.ws) {
|
|
346
|
+
this.ws.close();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
reconnect() {
|
|
350
|
+
this.isManuallyClosed = false;
|
|
351
|
+
this.reconnectAttempts = 0;
|
|
352
|
+
if (this.reconnectTimer) {
|
|
353
|
+
clearTimeout(this.reconnectTimer);
|
|
354
|
+
this.reconnectTimer = null;
|
|
355
|
+
}
|
|
356
|
+
this.init();
|
|
357
|
+
}
|
|
358
|
+
onMessage(data) {
|
|
359
|
+
this.emitter.emit("message", data);
|
|
360
|
+
}
|
|
361
|
+
onError(error) {
|
|
362
|
+
console.error("远程应用错误:", this.id, error);
|
|
363
|
+
this.isError = true;
|
|
364
|
+
this.emitter.emit("error", error);
|
|
365
|
+
}
|
|
366
|
+
on(event, listener) {
|
|
367
|
+
this.emitter.on(event, listener);
|
|
368
|
+
return () => {
|
|
369
|
+
this.emitter.off(event, listener);
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
json(data) {
|
|
373
|
+
this.ws.send(JSON.stringify(data));
|
|
374
|
+
}
|
|
375
|
+
listenProxy() {
|
|
376
|
+
const remoteApp = this;
|
|
377
|
+
const app = this.mainApp;
|
|
378
|
+
const listenFn = async (event) => {
|
|
379
|
+
try {
|
|
380
|
+
const data = event.toString();
|
|
381
|
+
const body = JSON.parse(data);
|
|
382
|
+
const bodyData = body?.data;
|
|
383
|
+
const message = bodyData?.message || {};
|
|
384
|
+
const context = bodyData?.context || {};
|
|
385
|
+
if (body?.code === 401) {
|
|
386
|
+
console.error("远程应用认证失败,请检查 token 是否正确");
|
|
387
|
+
this.isError = true;
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
if (body?.type !== "proxy")
|
|
391
|
+
return;
|
|
392
|
+
if (!body.id) {
|
|
393
|
+
remoteApp.json({
|
|
394
|
+
id: body.id,
|
|
395
|
+
data: {
|
|
396
|
+
code: 400,
|
|
397
|
+
message: "id is required"
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
const res = await app.run(message, context);
|
|
403
|
+
remoteApp.json({
|
|
404
|
+
id: body.id,
|
|
405
|
+
data: {
|
|
406
|
+
code: res.code,
|
|
407
|
+
data: res.data,
|
|
408
|
+
message: res.message
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
} catch (error) {
|
|
412
|
+
console.error("处理远程代理请求出错:", error);
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
remoteApp.json({
|
|
416
|
+
id: this.id,
|
|
417
|
+
type: "registryClient"
|
|
418
|
+
});
|
|
419
|
+
remoteApp.emitter.on("message", listenFn);
|
|
420
|
+
const closeMessage = () => {
|
|
421
|
+
remoteApp.emitter.off("message", listenFn);
|
|
422
|
+
};
|
|
423
|
+
remoteApp.emitter.once("close", () => {
|
|
424
|
+
closeMessage();
|
|
425
|
+
});
|
|
426
|
+
return () => {
|
|
427
|
+
closeMessage();
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
export {
|
|
432
|
+
RemoteApp
|
|
433
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { DataOpts, Result } from '@kevisual/query';
|
|
2
|
+
|
|
3
|
+
type Process = {};
|
|
4
|
+
type QueryResourcesOptions = {
|
|
5
|
+
prefix?: string;
|
|
6
|
+
storage?: Storage;
|
|
7
|
+
username?: string;
|
|
8
|
+
onProcess?: (opts?: Process) => void;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
};
|
|
11
|
+
declare class QueryResources {
|
|
12
|
+
prefix: string;
|
|
13
|
+
storage: Storage;
|
|
14
|
+
onProcess?: (opts?: Process) => void;
|
|
15
|
+
constructor(opts: QueryResourcesOptions);
|
|
16
|
+
setUsername(username: string): void;
|
|
17
|
+
setPrefix(prefix: string): void;
|
|
18
|
+
header(headers?: Record<string, string>, json?: boolean): Record<string, string>;
|
|
19
|
+
get(data: any, opts: DataOpts): Promise<any>;
|
|
20
|
+
getList(prefix: string, data?: {
|
|
21
|
+
recursive?: boolean;
|
|
22
|
+
}, opts?: DataOpts): Promise<Result<any[]>>;
|
|
23
|
+
fetchFile(filepath: string, opts?: DataOpts): Promise<Result<any>>;
|
|
24
|
+
uploadFile(filepath: string, content: string | Blob, opts?: DataOpts & {
|
|
25
|
+
chunkSize?: number;
|
|
26
|
+
maxSize?: number;
|
|
27
|
+
}): Promise<Result<any>>;
|
|
28
|
+
uploadChunkedFile(filepath: string, file: Blob, hash: string, opts?: DataOpts & {
|
|
29
|
+
chunkSize?: number;
|
|
30
|
+
}): Promise<Result<any>>;
|
|
31
|
+
getStat(filepath: string, opts?: DataOpts): Promise<Result<Stat>>;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated use getStat instead
|
|
34
|
+
* @param filepath
|
|
35
|
+
* @param opts
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
getState(filepath: string, opts?: DataOpts): Promise<Result<Stat>>;
|
|
39
|
+
createFolder(folderpath: string, opts?: DataOpts): Promise<Result<any>>;
|
|
40
|
+
rename(oldpath: string, newpath: string, opts?: DataOpts): Promise<Result<any>>;
|
|
41
|
+
deleteFile(filepath: string, opts?: DataOpts): Promise<Result<any>>;
|
|
42
|
+
}
|
|
43
|
+
declare const getContentType: (filename: string) => string;
|
|
44
|
+
type Stat = {
|
|
45
|
+
"standardHeaders": any;
|
|
46
|
+
"size": string;
|
|
47
|
+
"etag": string;
|
|
48
|
+
"lastModified": string;
|
|
49
|
+
"metaData": {
|
|
50
|
+
"app-source": string;
|
|
51
|
+
"cache-control": string;
|
|
52
|
+
"content-type": string;
|
|
53
|
+
"share"?: string;
|
|
54
|
+
};
|
|
55
|
+
"versionId": null;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export { QueryResources, getContentType };
|