@kevisual/api 0.0.61 → 0.0.63

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.js CHANGED
@@ -1,4 +1,4 @@
1
- // node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/.pnpm/@kevisual+query@0.0.53/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -201,6 +201,10 @@ class Query {
201
201
  });
202
202
  }
203
203
  }
204
+ const headers2 = req.headers || {};
205
+ if (options?.token && !headers2["Authorization"]) {
206
+ headers2["Authorization"] = `Bearer ${options.token}`;
207
+ }
204
208
  } catch (e) {
205
209
  console.error("request beforeFn error", e, req);
206
210
  return wrapperError({
@@ -261,20 +265,20 @@ class Query {
261
265
  this.afterResponse = fn;
262
266
  }
263
267
  async fetchText(urlOrOptions, options) {
264
- let _options = { ...options };
268
+ let _options = { method: "GET", ...options };
265
269
  if (typeof urlOrOptions === "string" && !_options.url) {
266
270
  _options.url = urlOrOptions;
267
271
  }
268
272
  if (typeof urlOrOptions === "object") {
269
273
  _options = { ...urlOrOptions, ..._options };
270
274
  }
275
+ const headers = { ...this.headers, ..._options.headers };
276
+ if (options?.token && !headers["Authorization"] && _options.method !== "GET") {
277
+ headers["Authorization"] = `Bearer ${options.token}`;
278
+ }
271
279
  const res = await adapter({
272
- method: "GET",
273
280
  ..._options,
274
- headers: {
275
- ...this.headers,
276
- ..._options?.headers || {}
277
- }
281
+ headers
278
282
  });
279
283
  if (res && !res.code) {
280
284
  return {
@@ -286,7 +290,7 @@ class Query {
286
290
  }
287
291
  }
288
292
 
289
- // node_modules/@kevisual/router/dist/router-define.js
293
+ // node_modules/.pnpm/@kevisual+router@0.1.1/node_modules/@kevisual/router/dist/router-define.js
290
294
  class Chain {
291
295
  object;
292
296
  app;
@@ -420,7 +424,7 @@ var appDefine = QueryUtil.create({
420
424
  }
421
425
  });
422
426
 
423
- // node_modules/@kevisual/query/dist/query.js
427
+ // node_modules/.pnpm/@kevisual+query@0.0.53/node_modules/@kevisual/query/dist/query.js
424
428
  class BaseQuery {
425
429
  query;
426
430
  queryDefine;
package/dist/query-app.js CHANGED
@@ -1,4 +1,4 @@
1
- // node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/.pnpm/@kevisual+query@0.0.53/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -201,6 +201,10 @@ class Query {
201
201
  });
202
202
  }
203
203
  }
204
+ const headers2 = req.headers || {};
205
+ if (options?.token && !headers2["Authorization"]) {
206
+ headers2["Authorization"] = `Bearer ${options.token}`;
207
+ }
204
208
  } catch (e) {
205
209
  console.error("request beforeFn error", e, req);
206
210
  return wrapperError({
@@ -261,20 +265,20 @@ class Query {
261
265
  this.afterResponse = fn;
262
266
  }
263
267
  async fetchText(urlOrOptions, options) {
264
- let _options = { ...options };
268
+ let _options = { method: "GET", ...options };
265
269
  if (typeof urlOrOptions === "string" && !_options.url) {
266
270
  _options.url = urlOrOptions;
267
271
  }
268
272
  if (typeof urlOrOptions === "object") {
269
273
  _options = { ...urlOrOptions, ..._options };
270
274
  }
275
+ const headers = { ...this.headers, ..._options.headers };
276
+ if (options?.token && !headers["Authorization"] && _options.method !== "GET") {
277
+ headers["Authorization"] = `Bearer ${options.token}`;
278
+ }
271
279
  const res = await adapter({
272
- method: "GET",
273
280
  ..._options,
274
- headers: {
275
- ...this.headers,
276
- ..._options?.headers || {}
277
- }
281
+ headers
278
282
  });
279
283
  if (res && !res.code) {
280
284
  return {
@@ -286,7 +290,7 @@ class Query {
286
290
  }
287
291
  }
288
292
 
289
- // node_modules/@kevisual/router/dist/router-define.js
293
+ // node_modules/.pnpm/@kevisual+router@0.1.1/node_modules/@kevisual/router/dist/router-define.js
290
294
  class Chain {
291
295
  object;
292
296
  app;
@@ -494,7 +498,7 @@ var userAppDefine = QueryUtil.create({
494
498
  }
495
499
  });
496
500
 
497
- // node_modules/@kevisual/query/dist/query.js
501
+ // node_modules/.pnpm/@kevisual+query@0.0.53/node_modules/@kevisual/query/dist/query.js
498
502
  class BaseQuery {
499
503
  query;
500
504
  queryDefine;
@@ -1,4 +1,4 @@
1
- // node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/.pnpm/@kevisual+query@0.0.53/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -201,6 +201,10 @@ class Query {
201
201
  });
202
202
  }
203
203
  }
204
+ const headers2 = req.headers || {};
205
+ if (options?.token && !headers2["Authorization"]) {
206
+ headers2["Authorization"] = `Bearer ${options.token}`;
207
+ }
204
208
  } catch (e) {
205
209
  console.error("request beforeFn error", e, req);
206
210
  return wrapperError({
@@ -261,20 +265,20 @@ class Query {
261
265
  this.afterResponse = fn;
262
266
  }
263
267
  async fetchText(urlOrOptions, options) {
264
- let _options = { ...options };
268
+ let _options = { method: "GET", ...options };
265
269
  if (typeof urlOrOptions === "string" && !_options.url) {
266
270
  _options.url = urlOrOptions;
267
271
  }
268
272
  if (typeof urlOrOptions === "object") {
269
273
  _options = { ...urlOrOptions, ..._options };
270
274
  }
275
+ const headers = { ...this.headers, ..._options.headers };
276
+ if (options?.token && !headers["Authorization"] && _options.method !== "GET") {
277
+ headers["Authorization"] = `Bearer ${options.token}`;
278
+ }
271
279
  const res = await adapter({
272
- method: "GET",
273
280
  ..._options,
274
- headers: {
275
- ...this.headers,
276
- ..._options?.headers || {}
277
- }
281
+ headers
278
282
  });
279
283
  if (res && !res.code) {
280
284
  return {
@@ -1,5 +1,6 @@
1
1
  import { BaseQuery, Query } from '@kevisual/query';
2
2
  import { DataOpts, Result } from '@kevisual/query/query';
3
+ import { EventEmitter } from 'eventemitter3';
3
4
 
4
5
  interface Cache {
5
6
  /**
@@ -107,12 +108,14 @@ declare class QueryLogin<T extends Cache = Cache> extends BaseQuery {
107
108
  */
108
109
  cacheStore: CacheStore<T>;
109
110
  isBrowser: boolean;
110
- load?: boolean;
111
111
  storage: Storage;
112
+ load: boolean;
113
+ status: 'init' | 'logining' | 'loginSuccess' | 'loginError';
112
114
  onLoad?: () => void;
115
+ emitter: EventEmitter<string | symbol, any>;
113
116
  constructor(opts?: QueryLoginOpts<T>);
114
117
  setQuery(query: Query): void;
115
- private init;
118
+ init(): Promise<unknown>;
116
119
  post<T = any>(data: any, opts?: DataOpts): Promise<any>;
117
120
  /**
118
121
  * 登录,
@@ -1,4 +1,200 @@
1
- // node_modules/@kevisual/query/dist/query-browser.js
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __toESM = (mod, isNodeMode, target) => {
7
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
8
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
9
+ for (let key of __getOwnPropNames(mod))
10
+ if (!__hasOwnProp.call(to, key))
11
+ __defProp(to, key, {
12
+ get: () => mod[key],
13
+ enumerable: true
14
+ });
15
+ return to;
16
+ };
17
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
18
+
19
+ // node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.js
20
+ var require_eventemitter3 = __commonJS((exports, module) => {
21
+ var has = Object.prototype.hasOwnProperty;
22
+ var prefix = "~";
23
+ function Events() {}
24
+ if (Object.create) {
25
+ Events.prototype = Object.create(null);
26
+ if (!new Events().__proto__)
27
+ prefix = false;
28
+ }
29
+ function EE(fn, context, once) {
30
+ this.fn = fn;
31
+ this.context = context;
32
+ this.once = once || false;
33
+ }
34
+ function addListener(emitter, event, fn, context, once) {
35
+ if (typeof fn !== "function") {
36
+ throw new TypeError("The listener must be a function");
37
+ }
38
+ var listener = new EE(fn, context || emitter, once), evt = prefix ? prefix + event : event;
39
+ if (!emitter._events[evt])
40
+ emitter._events[evt] = listener, emitter._eventsCount++;
41
+ else if (!emitter._events[evt].fn)
42
+ emitter._events[evt].push(listener);
43
+ else
44
+ emitter._events[evt] = [emitter._events[evt], listener];
45
+ return emitter;
46
+ }
47
+ function clearEvent(emitter, evt) {
48
+ if (--emitter._eventsCount === 0)
49
+ emitter._events = new Events;
50
+ else
51
+ delete emitter._events[evt];
52
+ }
53
+ function EventEmitter2() {
54
+ this._events = new Events;
55
+ this._eventsCount = 0;
56
+ }
57
+ EventEmitter2.prototype.eventNames = function eventNames() {
58
+ var names = [], events, name;
59
+ if (this._eventsCount === 0)
60
+ return names;
61
+ for (name in events = this._events) {
62
+ if (has.call(events, name))
63
+ names.push(prefix ? name.slice(1) : name);
64
+ }
65
+ if (Object.getOwnPropertySymbols) {
66
+ return names.concat(Object.getOwnPropertySymbols(events));
67
+ }
68
+ return names;
69
+ };
70
+ EventEmitter2.prototype.listeners = function listeners(event) {
71
+ var evt = prefix ? prefix + event : event, handlers = this._events[evt];
72
+ if (!handlers)
73
+ return [];
74
+ if (handlers.fn)
75
+ return [handlers.fn];
76
+ for (var i = 0, l = handlers.length, ee = new Array(l);i < l; i++) {
77
+ ee[i] = handlers[i].fn;
78
+ }
79
+ return ee;
80
+ };
81
+ EventEmitter2.prototype.listenerCount = function listenerCount(event) {
82
+ var evt = prefix ? prefix + event : event, listeners = this._events[evt];
83
+ if (!listeners)
84
+ return 0;
85
+ if (listeners.fn)
86
+ return 1;
87
+ return listeners.length;
88
+ };
89
+ EventEmitter2.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
90
+ var evt = prefix ? prefix + event : event;
91
+ if (!this._events[evt])
92
+ return false;
93
+ var listeners = this._events[evt], len = arguments.length, args, i;
94
+ if (listeners.fn) {
95
+ if (listeners.once)
96
+ this.removeListener(event, listeners.fn, undefined, true);
97
+ switch (len) {
98
+ case 1:
99
+ return listeners.fn.call(listeners.context), true;
100
+ case 2:
101
+ return listeners.fn.call(listeners.context, a1), true;
102
+ case 3:
103
+ return listeners.fn.call(listeners.context, a1, a2), true;
104
+ case 4:
105
+ return listeners.fn.call(listeners.context, a1, a2, a3), true;
106
+ case 5:
107
+ return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
108
+ case 6:
109
+ return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
110
+ }
111
+ for (i = 1, args = new Array(len - 1);i < len; i++) {
112
+ args[i - 1] = arguments[i];
113
+ }
114
+ listeners.fn.apply(listeners.context, args);
115
+ } else {
116
+ var length = listeners.length, j;
117
+ for (i = 0;i < length; i++) {
118
+ if (listeners[i].once)
119
+ this.removeListener(event, listeners[i].fn, undefined, true);
120
+ switch (len) {
121
+ case 1:
122
+ listeners[i].fn.call(listeners[i].context);
123
+ break;
124
+ case 2:
125
+ listeners[i].fn.call(listeners[i].context, a1);
126
+ break;
127
+ case 3:
128
+ listeners[i].fn.call(listeners[i].context, a1, a2);
129
+ break;
130
+ case 4:
131
+ listeners[i].fn.call(listeners[i].context, a1, a2, a3);
132
+ break;
133
+ default:
134
+ if (!args)
135
+ for (j = 1, args = new Array(len - 1);j < len; j++) {
136
+ args[j - 1] = arguments[j];
137
+ }
138
+ listeners[i].fn.apply(listeners[i].context, args);
139
+ }
140
+ }
141
+ }
142
+ return true;
143
+ };
144
+ EventEmitter2.prototype.on = function on(event, fn, context) {
145
+ return addListener(this, event, fn, context, false);
146
+ };
147
+ EventEmitter2.prototype.once = function once(event, fn, context) {
148
+ return addListener(this, event, fn, context, true);
149
+ };
150
+ EventEmitter2.prototype.removeListener = function removeListener(event, fn, context, once) {
151
+ var evt = prefix ? prefix + event : event;
152
+ if (!this._events[evt])
153
+ return this;
154
+ if (!fn) {
155
+ clearEvent(this, evt);
156
+ return this;
157
+ }
158
+ var listeners = this._events[evt];
159
+ if (listeners.fn) {
160
+ if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
161
+ clearEvent(this, evt);
162
+ }
163
+ } else {
164
+ for (var i = 0, events = [], length = listeners.length;i < length; i++) {
165
+ if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
166
+ events.push(listeners[i]);
167
+ }
168
+ }
169
+ if (events.length)
170
+ this._events[evt] = events.length === 1 ? events[0] : events;
171
+ else
172
+ clearEvent(this, evt);
173
+ }
174
+ return this;
175
+ };
176
+ EventEmitter2.prototype.removeAllListeners = function removeAllListeners(event) {
177
+ var evt;
178
+ if (event) {
179
+ evt = prefix ? prefix + event : event;
180
+ if (this._events[evt])
181
+ clearEvent(this, evt);
182
+ } else {
183
+ this._events = new Events;
184
+ this._eventsCount = 0;
185
+ }
186
+ return this;
187
+ };
188
+ EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener;
189
+ EventEmitter2.prototype.addListener = EventEmitter2.prototype.on;
190
+ EventEmitter2.prefixed = prefix;
191
+ EventEmitter2.EventEmitter = EventEmitter2;
192
+ if (typeof module !== "undefined") {
193
+ module.exports = EventEmitter2;
194
+ }
195
+ });
196
+
197
+ // node_modules/.pnpm/@kevisual+query@0.0.53/node_modules/@kevisual/query/dist/query-browser.js
2
198
  var isTextForContentType = (contentType) => {
3
199
  if (!contentType)
4
200
  return false;
@@ -201,6 +397,10 @@ class Query {
201
397
  });
202
398
  }
203
399
  }
400
+ const headers2 = req.headers || {};
401
+ if (options?.token && !headers2["Authorization"]) {
402
+ headers2["Authorization"] = `Bearer ${options.token}`;
403
+ }
204
404
  } catch (e) {
205
405
  console.error("request beforeFn error", e, req);
206
406
  return wrapperError({
@@ -261,20 +461,20 @@ class Query {
261
461
  this.afterResponse = fn;
262
462
  }
263
463
  async fetchText(urlOrOptions, options) {
264
- let _options = { ...options };
464
+ let _options = { method: "GET", ...options };
265
465
  if (typeof urlOrOptions === "string" && !_options.url) {
266
466
  _options.url = urlOrOptions;
267
467
  }
268
468
  if (typeof urlOrOptions === "object") {
269
469
  _options = { ...urlOrOptions, ..._options };
270
470
  }
471
+ const headers = { ...this.headers, ..._options.headers };
472
+ if (options?.token && !headers["Authorization"] && _options.method !== "GET") {
473
+ headers["Authorization"] = `Bearer ${options.token}`;
474
+ }
271
475
  const res = await adapter({
272
- method: "GET",
273
476
  ..._options,
274
- headers: {
275
- ...this.headers,
276
- ..._options?.headers || {}
277
- }
477
+ headers
278
478
  });
279
479
  if (res && !res.code) {
280
480
  return {
@@ -348,17 +548,19 @@ class LoginCacheStore {
348
548
  }
349
549
  async init() {
350
550
  const defaultData = { ...this.cacheData };
351
- if (this.cache.init) {
352
- try {
353
- const cacheData = await this.cache.init();
354
- this.cacheData = cacheData || defaultData;
355
- } catch (error) {
356
- console.log("cacheInit error", error);
551
+ return new Promise(async (resolve) => {
552
+ if (this.cache.init) {
553
+ try {
554
+ const cacheData = await this.cache.init();
555
+ this.cacheData = cacheData || defaultData;
556
+ } catch (error) {
557
+ console.log("cacheInit error", error);
558
+ }
559
+ } else {
560
+ this.cacheData = await this.getValue() || defaultData;
357
561
  }
358
- } else {
359
- this.cacheData = await this.getValue() || defaultData;
360
- }
361
- return this.cacheData;
562
+ resolve(this.cacheData);
563
+ });
362
564
  }
363
565
  async setLoginUser(loginUser) {
364
566
  const has = this.cacheData.loginUsers.find((u) => u.id === loginUser.id);
@@ -877,13 +1079,18 @@ class BaseLoad {
877
1079
  }
878
1080
  }
879
1081
 
1082
+ // node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.mjs
1083
+ var import__ = __toESM(require_eventemitter3(), 1);
1084
+
880
1085
  // query/query-login/query-login.ts
881
1086
  class QueryLogin extends BaseQuery {
882
1087
  cacheStore;
883
1088
  isBrowser;
884
- load;
885
1089
  storage;
1090
+ load = false;
1091
+ status = "init";
886
1092
  onLoad;
1093
+ emitter = new import__.default;
887
1094
  constructor(opts) {
888
1095
  super({
889
1096
  query: opts?.query || new Query
@@ -896,14 +1103,29 @@ class QueryLogin extends BaseQuery {
896
1103
  if (!this.storage) {
897
1104
  throw new Error("storage is required");
898
1105
  }
1106
+ this.cacheStore.init().then(() => {
1107
+ this.onLoad?.();
1108
+ this.load = true;
1109
+ this.emitter.emit("load");
1110
+ });
899
1111
  }
900
1112
  setQuery(query) {
901
1113
  this.query = query;
902
1114
  }
903
1115
  async init() {
904
- await this.cacheStore.init();
905
- this.load = true;
906
- this.onLoad?.();
1116
+ if (this.load) {
1117
+ return this.cacheStore.cacheData;
1118
+ }
1119
+ return new Promise(async (resolve) => {
1120
+ const timer = setTimeout(() => {
1121
+ resolve(this.cacheStore.cacheData);
1122
+ }, 1000 * 20);
1123
+ const listener = () => {
1124
+ clearTimeout(timer);
1125
+ resolve(this.cacheStore.cacheData);
1126
+ };
1127
+ this.emitter.once("load", listener);
1128
+ });
907
1129
  }
908
1130
  async post(data, opts) {
909
1131
  try {
@@ -1,5 +1,6 @@
1
1
  import { BaseQuery, Query } from '@kevisual/query';
2
2
  import { DataOpts, Result } from '@kevisual/query/query';
3
+ import { EventEmitter } from 'eventemitter3';
3
4
 
4
5
  interface Cache {
5
6
  /**
@@ -107,12 +108,14 @@ declare class QueryLogin<T extends Cache = Cache> extends BaseQuery {
107
108
  */
108
109
  cacheStore: CacheStore<T>;
109
110
  isBrowser: boolean;
110
- load?: boolean;
111
111
  storage: Storage;
112
+ load: boolean;
113
+ status: 'init' | 'logining' | 'loginSuccess' | 'loginError';
112
114
  onLoad?: () => void;
115
+ emitter: EventEmitter<string | symbol, any>;
113
116
  constructor(opts?: QueryLoginOpts<T>);
114
117
  setQuery(query: Query): void;
115
- private init;
118
+ init(): Promise<unknown>;
116
119
  post<T = any>(data: any, opts?: DataOpts): Promise<any>;
117
120
  /**
118
121
  * 登录,