@kevisual/api 0.0.61 → 0.0.62

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.52/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -286,7 +286,7 @@ class Query {
286
286
  }
287
287
  }
288
288
 
289
- // node_modules/@kevisual/router/dist/router-define.js
289
+ // node_modules/.pnpm/@kevisual+router@0.0.85/node_modules/@kevisual/router/dist/router-define.js
290
290
  class Chain {
291
291
  object;
292
292
  app;
@@ -420,7 +420,7 @@ var appDefine = QueryUtil.create({
420
420
  }
421
421
  });
422
422
 
423
- // node_modules/@kevisual/query/dist/query.js
423
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query.js
424
424
  class BaseQuery {
425
425
  query;
426
426
  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.52/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -286,7 +286,7 @@ class Query {
286
286
  }
287
287
  }
288
288
 
289
- // node_modules/@kevisual/router/dist/router-define.js
289
+ // node_modules/.pnpm/@kevisual+router@0.0.85/node_modules/@kevisual/router/dist/router-define.js
290
290
  class Chain {
291
291
  object;
292
292
  app;
@@ -494,7 +494,7 @@ var userAppDefine = QueryUtil.create({
494
494
  }
495
495
  });
496
496
 
497
- // node_modules/@kevisual/query/dist/query.js
497
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query.js
498
498
  class BaseQuery {
499
499
  query;
500
500
  queryDefine;
@@ -1,4 +1,4 @@
1
- // node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -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.52/node_modules/@kevisual/query/dist/query-browser.js
2
198
  var isTextForContentType = (contentType) => {
3
199
  if (!contentType)
4
200
  return false;
@@ -348,17 +544,19 @@ class LoginCacheStore {
348
544
  }
349
545
  async init() {
350
546
  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);
547
+ return new Promise(async (resolve) => {
548
+ if (this.cache.init) {
549
+ try {
550
+ const cacheData = await this.cache.init();
551
+ this.cacheData = cacheData || defaultData;
552
+ } catch (error) {
553
+ console.log("cacheInit error", error);
554
+ }
555
+ } else {
556
+ this.cacheData = await this.getValue() || defaultData;
357
557
  }
358
- } else {
359
- this.cacheData = await this.getValue() || defaultData;
360
- }
361
- return this.cacheData;
558
+ resolve(this.cacheData);
559
+ });
362
560
  }
363
561
  async setLoginUser(loginUser) {
364
562
  const has = this.cacheData.loginUsers.find((u) => u.id === loginUser.id);
@@ -877,13 +1075,18 @@ class BaseLoad {
877
1075
  }
878
1076
  }
879
1077
 
1078
+ // node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.mjs
1079
+ var import__ = __toESM(require_eventemitter3(), 1);
1080
+
880
1081
  // query/query-login/query-login.ts
881
1082
  class QueryLogin extends BaseQuery {
882
1083
  cacheStore;
883
1084
  isBrowser;
884
- load;
885
1085
  storage;
1086
+ load = false;
1087
+ status = "init";
886
1088
  onLoad;
1089
+ emitter = new import__.default;
887
1090
  constructor(opts) {
888
1091
  super({
889
1092
  query: opts?.query || new Query
@@ -896,14 +1099,29 @@ class QueryLogin extends BaseQuery {
896
1099
  if (!this.storage) {
897
1100
  throw new Error("storage is required");
898
1101
  }
1102
+ this.cacheStore.init().then(() => {
1103
+ this.onLoad?.();
1104
+ this.load = true;
1105
+ this.emitter.emit("load");
1106
+ });
899
1107
  }
900
1108
  setQuery(query) {
901
1109
  this.query = query;
902
1110
  }
903
1111
  async init() {
904
- await this.cacheStore.init();
905
- this.load = true;
906
- this.onLoad?.();
1112
+ if (this.load) {
1113
+ return this.cacheStore.cacheData;
1114
+ }
1115
+ return new Promise(async (resolve) => {
1116
+ const timer = setTimeout(() => {
1117
+ resolve(this.cacheStore.cacheData);
1118
+ }, 1000 * 20);
1119
+ const listener = () => {
1120
+ clearTimeout(timer);
1121
+ resolve(this.cacheStore.cacheData);
1122
+ };
1123
+ this.emitter.once("load", listener);
1124
+ });
907
1125
  }
908
1126
  async post(data, opts) {
909
1127
  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
  * 登录,
@@ -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.52/node_modules/@kevisual/query/dist/query-browser.js
2
198
  var isTextForContentType = (contentType) => {
3
199
  if (!contentType)
4
200
  return false;
@@ -348,17 +544,19 @@ class LoginCacheStore {
348
544
  }
349
545
  async init() {
350
546
  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);
547
+ return new Promise(async (resolve) => {
548
+ if (this.cache.init) {
549
+ try {
550
+ const cacheData = await this.cache.init();
551
+ this.cacheData = cacheData || defaultData;
552
+ } catch (error) {
553
+ console.log("cacheInit error", error);
554
+ }
555
+ } else {
556
+ this.cacheData = await this.getValue() || defaultData;
357
557
  }
358
- } else {
359
- this.cacheData = await this.getValue() || defaultData;
360
- }
361
- return this.cacheData;
558
+ resolve(this.cacheData);
559
+ });
362
560
  }
363
561
  async setLoginUser(loginUser) {
364
562
  const has = this.cacheData.loginUsers.find((u) => u.id === loginUser.id);
@@ -877,13 +1075,18 @@ class BaseLoad {
877
1075
  }
878
1076
  }
879
1077
 
1078
+ // node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.mjs
1079
+ var import__ = __toESM(require_eventemitter3(), 1);
1080
+
880
1081
  // query/query-login/query-login.ts
881
1082
  class QueryLogin extends BaseQuery {
882
1083
  cacheStore;
883
1084
  isBrowser;
884
- load;
885
1085
  storage;
1086
+ load = false;
1087
+ status = "init";
886
1088
  onLoad;
1089
+ emitter = new import__.default;
887
1090
  constructor(opts) {
888
1091
  super({
889
1092
  query: opts?.query || new Query
@@ -896,14 +1099,29 @@ class QueryLogin extends BaseQuery {
896
1099
  if (!this.storage) {
897
1100
  throw new Error("storage is required");
898
1101
  }
1102
+ this.cacheStore.init().then(() => {
1103
+ this.onLoad?.();
1104
+ this.load = true;
1105
+ this.emitter.emit("load");
1106
+ });
899
1107
  }
900
1108
  setQuery(query) {
901
1109
  this.query = query;
902
1110
  }
903
1111
  async init() {
904
- await this.cacheStore.init();
905
- this.load = true;
906
- this.onLoad?.();
1112
+ if (this.load) {
1113
+ return this.cacheStore.cacheData;
1114
+ }
1115
+ return new Promise(async (resolve) => {
1116
+ const timer = setTimeout(() => {
1117
+ resolve(this.cacheStore.cacheData);
1118
+ }, 1000 * 20);
1119
+ const listener = () => {
1120
+ clearTimeout(timer);
1121
+ resolve(this.cacheStore.cacheData);
1122
+ };
1123
+ this.emitter.once("load", listener);
1124
+ });
907
1125
  }
908
1126
  async post(data, opts) {
909
1127
  try {
@@ -1269,7 +1487,7 @@ class QueryLogin extends BaseQuery {
1269
1487
  }
1270
1488
  }
1271
1489
 
1272
- // node_modules/.pnpm/@kevisual+cache@0.0.5/node_modules/@kevisual/cache/dist/cache.js
1490
+ // node_modules/idb-keyval/dist/index.js
1273
1491
  function promisifyRequest(request) {
1274
1492
  return new Promise((resolve, reject) => {
1275
1493
  request.oncomplete = request.onsuccess = () => resolve(request.result);
@@ -1386,6 +1604,7 @@ function entries(customStore = defaultGetStore()) {
1386
1604
  });
1387
1605
  }
1388
1606
 
1607
+ // query/query-login/browser-cache/cache-store.ts
1389
1608
  class BaseCacheStore {
1390
1609
  store;
1391
1610
  constructor(opts) {
@@ -1474,7 +1693,7 @@ class CacheStore2 extends BaseCacheStore {
1474
1693
  return this.del(key);
1475
1694
  }
1476
1695
  }
1477
-
1696
+ // query/query-login/browser-cache/cache.ts
1478
1697
  class MyCache extends CacheStore2 {
1479
1698
  key;
1480
1699
  constructor(opts) {
@@ -1482,8 +1701,8 @@ class MyCache extends CacheStore2 {
1482
1701
  super(rest);
1483
1702
  this.key = key || "my-cache";
1484
1703
  }
1485
- async getData() {
1486
- return super.getCheckData(this.key);
1704
+ async getData(key = this.key) {
1705
+ return super.getCheckData(key);
1487
1706
  }
1488
1707
  async setData(data, opts) {
1489
1708
  super.setCheckData(this.key, data, opts);
@@ -1,4 +1,4 @@
1
- // node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -29,6 +29,10 @@ type RouteViewBase = {
29
29
  payload?: any;
30
30
  [key: string]: any;
31
31
  };
32
+ /**
33
+ * 本地状态,loading、active、error等
34
+ */
35
+ routerStatus?: 'loading' | 'active' | 'inactive' | 'error';
32
36
  };
33
37
  type RouterViewApi = {
34
38
  type: 'api';
@@ -74,6 +78,10 @@ declare const pickRouterViewData: (item: RouterViewItem) => {
74
78
  title?: string;
75
79
  description?: string;
76
80
  enabled?: boolean;
81
+ /**
82
+ * 本地状态,loading、active、error等
83
+ */
84
+ routerStatus?: "loading" | "active" | "inactive" | "error";
77
85
  } | {
78
86
  type: "context";
79
87
  context: {
@@ -84,6 +92,10 @@ declare const pickRouterViewData: (item: RouterViewItem) => {
84
92
  title?: string;
85
93
  description?: string;
86
94
  enabled?: boolean;
95
+ /**
96
+ * 本地状态,loading、active、error等
97
+ */
98
+ routerStatus?: "loading" | "active" | "inactive" | "error";
87
99
  } | {
88
100
  type: "worker";
89
101
  worker: {
@@ -102,6 +114,10 @@ declare const pickRouterViewData: (item: RouterViewItem) => {
102
114
  title?: string;
103
115
  description?: string;
104
116
  enabled?: boolean;
117
+ /**
118
+ * 本地状态,loading、active、error等
119
+ */
120
+ routerStatus?: "loading" | "active" | "inactive" | "error";
105
121
  } | {
106
122
  type: "page";
107
123
  page: {
@@ -111,6 +127,10 @@ declare const pickRouterViewData: (item: RouterViewItem) => {
111
127
  title?: string;
112
128
  description?: string;
113
129
  enabled?: boolean;
130
+ /**
131
+ * 本地状态,loading、active、error等
132
+ */
133
+ routerStatus?: "loading" | "active" | "inactive" | "error";
114
134
  };
115
135
  /**
116
136
  * 注入 js 的url地址,使用 importScripts 加载
@@ -194,7 +194,7 @@ var require_eventemitter32 = __commonJS((exports, module) => {
194
194
  }
195
195
  });
196
196
 
197
- // node_modules/@kevisual/query/dist/query-browser.js
197
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query-browser.js
198
198
  var isTextForContentType = (contentType) => {
199
199
  if (!contentType)
200
200
  return false;
@@ -685,7 +685,7 @@ class QueryClient extends Query {
685
685
  }
686
686
  }
687
687
 
688
- // node_modules/@kevisual/router/dist/router-browser.js
688
+ // node_modules/.pnpm/@kevisual+router@0.0.85/node_modules/@kevisual/router/dist/router-browser.js
689
689
  var __create2 = Object.create;
690
690
  var __getProtoOf2 = Object.getPrototypeOf;
691
691
  var __defProp2 = Object.defineProperty;
@@ -14655,7 +14655,7 @@ class Route {
14655
14655
  if (opts) {
14656
14656
  this.id = opts.id || randomId(12, "rand-");
14657
14657
  if (!opts.id && opts.idUsePath) {
14658
- const delimiter = opts.delimiter ?? "$#$";
14658
+ const delimiter = opts.delimiter ?? "$$";
14659
14659
  this.id = path + delimiter + key;
14660
14660
  }
14661
14661
  this.run = opts.run;
@@ -14778,6 +14778,7 @@ class QueryRouter {
14778
14778
  const maxNextRoute = this.maxNextRoute;
14779
14779
  ctx = ctx || {};
14780
14780
  ctx.currentPath = path;
14781
+ ctx.currentId = route?.id;
14781
14782
  ctx.currentKey = key;
14782
14783
  ctx.currentRoute = route;
14783
14784
  ctx.index = (ctx.index || 0) + 1;
@@ -14791,7 +14792,7 @@ class QueryRouter {
14791
14792
  ctx.code = 500;
14792
14793
  ctx.message = "Too many nextRoute";
14793
14794
  ctx.body = null;
14794
- return;
14795
+ return ctx;
14795
14796
  }
14796
14797
  if (route && route.middleware && route.middleware.length > 0) {
14797
14798
  const errorMiddleware = [];
@@ -14866,7 +14867,9 @@ class QueryRouter {
14866
14867
  }
14867
14868
  return ctx;
14868
14869
  }
14869
- if (ctx.end) {}
14870
+ if (ctx.end) {
14871
+ return ctx;
14872
+ }
14870
14873
  }
14871
14874
  }
14872
14875
  }
@@ -15060,7 +15063,7 @@ class QueryRouter {
15060
15063
  description: "列出当前应用下的所有的路由信息",
15061
15064
  middleware: opts?.middleware || [],
15062
15065
  run: async (ctx) => {
15063
- const tokenUser = ctx.state.tokenUser;
15066
+ const tokenUser = ctx.state;
15064
15067
  let isUser = !!tokenUser;
15065
15068
  const list = this.getList(opts?.filter).filter((item) => {
15066
15069
  if (item.id === "auth" || item.id === "auth-can" || item.id === "check-auth-admin" || item.id === "auth-admin") {
@@ -15095,7 +15098,10 @@ class QueryRouterServer extends QueryRouter {
15095
15098
  handle;
15096
15099
  constructor(opts) {
15097
15100
  super();
15098
- this.handle = this.getHandle(this, opts?.handleFn, opts?.context);
15101
+ const initHandle = opts?.initHandle ?? true;
15102
+ if (initHandle || opts?.handleFn) {
15103
+ this.handle = this.getHandle(this, opts?.handleFn, opts?.context);
15104
+ }
15099
15105
  this.setContext({ needSerialize: false, ...opts?.context });
15100
15106
  if (opts?.appId) {
15101
15107
  this.appId = opts.appId;
@@ -15126,15 +15132,8 @@ class QueryRouterServer extends QueryRouter {
15126
15132
  }
15127
15133
  return new Route(path, key, opts);
15128
15134
  }
15129
- prompt(...args) {
15130
- const [desc] = args;
15131
- let description = "";
15132
- if (typeof desc === "string") {
15133
- description = desc;
15134
- } else if (typeof desc === "function") {
15135
- description = desc() || "";
15136
- }
15137
- return new Route("", "", { description });
15135
+ prompt(description) {
15136
+ return new Route(undefined, undefined, { description });
15138
15137
  }
15139
15138
  async run(msg, ctx) {
15140
15139
  const handle = this.handle;
@@ -15491,7 +15490,221 @@ function filter(data, query) {
15491
15490
  // node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.mjs
15492
15491
  var import__2 = __toESM(require_eventemitter32(), 1);
15493
15492
 
15494
- // node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/predicate/isBrowser.mjs
15493
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isPrimitive.mjs
15494
+ function isPrimitive(value) {
15495
+ return value == null || typeof value !== "object" && typeof value !== "function";
15496
+ }
15497
+
15498
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isTypedArray.mjs
15499
+ function isTypedArray(x) {
15500
+ return ArrayBuffer.isView(x) && !(x instanceof DataView);
15501
+ }
15502
+
15503
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs
15504
+ function getSymbols(object2) {
15505
+ return Object.getOwnPropertySymbols(object2).filter((symbol2) => Object.prototype.propertyIsEnumerable.call(object2, symbol2));
15506
+ }
15507
+
15508
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getTag.mjs
15509
+ function getTag(value) {
15510
+ if (value == null) {
15511
+ return value === undefined ? "[object Undefined]" : "[object Null]";
15512
+ }
15513
+ return Object.prototype.toString.call(value);
15514
+ }
15515
+
15516
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/tags.mjs
15517
+ var regexpTag = "[object RegExp]";
15518
+ var stringTag = "[object String]";
15519
+ var numberTag = "[object Number]";
15520
+ var booleanTag = "[object Boolean]";
15521
+ var argumentsTag = "[object Arguments]";
15522
+ var symbolTag = "[object Symbol]";
15523
+ var dateTag = "[object Date]";
15524
+ var mapTag = "[object Map]";
15525
+ var setTag = "[object Set]";
15526
+ var arrayTag = "[object Array]";
15527
+ var arrayBufferTag = "[object ArrayBuffer]";
15528
+ var objectTag = "[object Object]";
15529
+ var dataViewTag = "[object DataView]";
15530
+ var uint8ArrayTag = "[object Uint8Array]";
15531
+ var uint8ClampedArrayTag = "[object Uint8ClampedArray]";
15532
+ var uint16ArrayTag = "[object Uint16Array]";
15533
+ var uint32ArrayTag = "[object Uint32Array]";
15534
+ var int8ArrayTag = "[object Int8Array]";
15535
+ var int16ArrayTag = "[object Int16Array]";
15536
+ var int32ArrayTag = "[object Int32Array]";
15537
+ var float32ArrayTag = "[object Float32Array]";
15538
+ var float64ArrayTag = "[object Float64Array]";
15539
+
15540
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeepWith.mjs
15541
+ function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map, cloneValue = undefined) {
15542
+ const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);
15543
+ if (cloned !== undefined) {
15544
+ return cloned;
15545
+ }
15546
+ if (isPrimitive(valueToClone)) {
15547
+ return valueToClone;
15548
+ }
15549
+ if (stack.has(valueToClone)) {
15550
+ return stack.get(valueToClone);
15551
+ }
15552
+ if (Array.isArray(valueToClone)) {
15553
+ const result = new Array(valueToClone.length);
15554
+ stack.set(valueToClone, result);
15555
+ for (let i = 0;i < valueToClone.length; i++) {
15556
+ result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);
15557
+ }
15558
+ if (Object.hasOwn(valueToClone, "index")) {
15559
+ result.index = valueToClone.index;
15560
+ }
15561
+ if (Object.hasOwn(valueToClone, "input")) {
15562
+ result.input = valueToClone.input;
15563
+ }
15564
+ return result;
15565
+ }
15566
+ if (valueToClone instanceof Date) {
15567
+ return new Date(valueToClone.getTime());
15568
+ }
15569
+ if (valueToClone instanceof RegExp) {
15570
+ const result = new RegExp(valueToClone.source, valueToClone.flags);
15571
+ result.lastIndex = valueToClone.lastIndex;
15572
+ return result;
15573
+ }
15574
+ if (valueToClone instanceof Map) {
15575
+ const result = new Map;
15576
+ stack.set(valueToClone, result);
15577
+ for (const [key, value] of valueToClone) {
15578
+ result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));
15579
+ }
15580
+ return result;
15581
+ }
15582
+ if (valueToClone instanceof Set) {
15583
+ const result = new Set;
15584
+ stack.set(valueToClone, result);
15585
+ for (const value of valueToClone) {
15586
+ result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue));
15587
+ }
15588
+ return result;
15589
+ }
15590
+ if (typeof Buffer !== "undefined" && Buffer.isBuffer(valueToClone)) {
15591
+ return valueToClone.subarray();
15592
+ }
15593
+ if (isTypedArray(valueToClone)) {
15594
+ const result = new (Object.getPrototypeOf(valueToClone)).constructor(valueToClone.length);
15595
+ stack.set(valueToClone, result);
15596
+ for (let i = 0;i < valueToClone.length; i++) {
15597
+ result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);
15598
+ }
15599
+ return result;
15600
+ }
15601
+ if (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer !== "undefined" && valueToClone instanceof SharedArrayBuffer) {
15602
+ return valueToClone.slice(0);
15603
+ }
15604
+ if (valueToClone instanceof DataView) {
15605
+ const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);
15606
+ stack.set(valueToClone, result);
15607
+ copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
15608
+ return result;
15609
+ }
15610
+ if (typeof File !== "undefined" && valueToClone instanceof File) {
15611
+ const result = new File([valueToClone], valueToClone.name, {
15612
+ type: valueToClone.type
15613
+ });
15614
+ stack.set(valueToClone, result);
15615
+ copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
15616
+ return result;
15617
+ }
15618
+ if (typeof Blob !== "undefined" && valueToClone instanceof Blob) {
15619
+ const result = new Blob([valueToClone], { type: valueToClone.type });
15620
+ stack.set(valueToClone, result);
15621
+ copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
15622
+ return result;
15623
+ }
15624
+ if (valueToClone instanceof Error) {
15625
+ const result = structuredClone(valueToClone);
15626
+ stack.set(valueToClone, result);
15627
+ result.message = valueToClone.message;
15628
+ result.name = valueToClone.name;
15629
+ result.stack = valueToClone.stack;
15630
+ result.cause = valueToClone.cause;
15631
+ result.constructor = valueToClone.constructor;
15632
+ copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
15633
+ return result;
15634
+ }
15635
+ if (valueToClone instanceof Boolean) {
15636
+ const result = new Boolean(valueToClone.valueOf());
15637
+ stack.set(valueToClone, result);
15638
+ copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
15639
+ return result;
15640
+ }
15641
+ if (valueToClone instanceof Number) {
15642
+ const result = new Number(valueToClone.valueOf());
15643
+ stack.set(valueToClone, result);
15644
+ copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
15645
+ return result;
15646
+ }
15647
+ if (valueToClone instanceof String) {
15648
+ const result = new String(valueToClone.valueOf());
15649
+ stack.set(valueToClone, result);
15650
+ copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
15651
+ return result;
15652
+ }
15653
+ if (typeof valueToClone === "object" && isCloneableObject(valueToClone)) {
15654
+ const result = Object.create(Object.getPrototypeOf(valueToClone));
15655
+ stack.set(valueToClone, result);
15656
+ copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
15657
+ return result;
15658
+ }
15659
+ return valueToClone;
15660
+ }
15661
+ function copyProperties(target, source, objectToClone = target, stack, cloneValue) {
15662
+ const keys = [...Object.keys(source), ...getSymbols(source)];
15663
+ for (let i = 0;i < keys.length; i++) {
15664
+ const key = keys[i];
15665
+ const descriptor = Object.getOwnPropertyDescriptor(target, key);
15666
+ if (descriptor == null || descriptor.writable) {
15667
+ target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);
15668
+ }
15669
+ }
15670
+ }
15671
+ function isCloneableObject(object2) {
15672
+ switch (getTag(object2)) {
15673
+ case argumentsTag:
15674
+ case arrayTag:
15675
+ case arrayBufferTag:
15676
+ case dataViewTag:
15677
+ case booleanTag:
15678
+ case dateTag:
15679
+ case float32ArrayTag:
15680
+ case float64ArrayTag:
15681
+ case int8ArrayTag:
15682
+ case int16ArrayTag:
15683
+ case int32ArrayTag:
15684
+ case mapTag:
15685
+ case numberTag:
15686
+ case objectTag:
15687
+ case regexpTag:
15688
+ case setTag:
15689
+ case stringTag:
15690
+ case symbolTag:
15691
+ case uint8ArrayTag:
15692
+ case uint8ClampedArrayTag:
15693
+ case uint16ArrayTag:
15694
+ case uint32ArrayTag: {
15695
+ return true;
15696
+ }
15697
+ default: {
15698
+ return false;
15699
+ }
15700
+ }
15701
+ }
15702
+
15703
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/cloneDeep.mjs
15704
+ function cloneDeep(obj) {
15705
+ return cloneDeepWithImpl(obj, undefined, obj, new Map, undefined);
15706
+ }
15707
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isBrowser.mjs
15495
15708
  function isBrowser() {
15496
15709
  return typeof window !== "undefined" && window?.document != null;
15497
15710
  }
@@ -15502,6 +15715,9 @@ var initApi = async (opts) => {
15502
15715
  const token = opts?.token;
15503
15716
  const query = item?.api?.query || new Query({ url: item?.api?.url || "/api/router" });
15504
15717
  const res = await query.post({ path: "router", key: "list", token });
15718
+ if (item) {
15719
+ item.routerStatus = res?.code === 200 ? "active" : "error";
15720
+ }
15505
15721
  if (res.code !== 200) {
15506
15722
  return {
15507
15723
  code: res.code,
@@ -15548,7 +15764,7 @@ var initApi = async (opts) => {
15548
15764
 
15549
15765
  // node_modules/.pnpm/fuse.js@7.1.0/node_modules/fuse.js/dist/fuse.mjs
15550
15766
  function isArray(value) {
15551
- return !Array.isArray ? getTag(value) === "[object Array]" : Array.isArray(value);
15767
+ return !Array.isArray ? getTag2(value) === "[object Array]" : Array.isArray(value);
15552
15768
  }
15553
15769
  var INFINITY = 1 / 0;
15554
15770
  function baseToString(value) {
@@ -15568,7 +15784,7 @@ function isNumber(value) {
15568
15784
  return typeof value === "number";
15569
15785
  }
15570
15786
  function isBoolean(value) {
15571
- return value === true || value === false || isObjectLike(value) && getTag(value) == "[object Boolean]";
15787
+ return value === true || value === false || isObjectLike(value) && getTag2(value) == "[object Boolean]";
15572
15788
  }
15573
15789
  function isObject2(value) {
15574
15790
  return typeof value === "object";
@@ -15582,7 +15798,7 @@ function isDefined(value) {
15582
15798
  function isBlank(value) {
15583
15799
  return !value.trim().length;
15584
15800
  }
15585
- function getTag(value) {
15801
+ function getTag2(value) {
15586
15802
  return value == null ? value === undefined ? "[object Undefined]" : "[object Null]" : Object.prototype.toString.call(value);
15587
15803
  }
15588
15804
  var INCORRECT_INDEX_TYPE = "Incorrect 'index' type";
@@ -16843,7 +17059,7 @@ Fuse.config = Config;
16843
17059
  // query/query-proxy/proxy.ts
16844
17060
  var RouteTypeList = ["api", "context", "worker", "page"];
16845
17061
  var pickRouterViewData = (item) => {
16846
- const { action, response, _id, ...rest } = item;
17062
+ const { action, response, _id, ...rest } = cloneDeep(item);
16847
17063
  if (rest.type === "api") {
16848
17064
  if (rest.api) {
16849
17065
  delete rest.api.query;
@@ -16859,6 +17075,7 @@ var pickRouterViewData = (item) => {
16859
17075
  delete rest.context.router;
16860
17076
  }
16861
17077
  }
17078
+ delete rest.routerStatus;
16862
17079
  return rest;
16863
17080
  };
16864
17081
 
@@ -16894,6 +17111,7 @@ class QueryProxy {
16894
17111
  });
16895
17112
  }
16896
17113
  initRouterView(item) {
17114
+ item.routerStatus = "loading";
16897
17115
  if (item.type === "api" && item.api?.url) {
16898
17116
  const url2 = item.api.url;
16899
17117
  if (item?.api?.query)
@@ -16983,6 +17201,9 @@ class QueryProxy {
16983
17201
  async initContext(item) {
16984
17202
  const context = globalThis["context"] || {};
16985
17203
  const router = item?.context?.router || context[item?.context?.key];
17204
+ if (item) {
17205
+ item.routerStatus = router ? "active" : "error";
17206
+ }
16986
17207
  if (!router) {
16987
17208
  console.warn(`未发现Context router ${item?.context?.key}`);
16988
17209
  return;
@@ -17044,6 +17265,9 @@ class QueryProxy {
17044
17265
  }
17045
17266
  const viewItem = item.worker;
17046
17267
  const worker = viewItem?.worker;
17268
+ if (item) {
17269
+ item.routerStatus = worker ? "active" : "error";
17270
+ }
17047
17271
  if (!worker) {
17048
17272
  console.warn("Worker not initialized");
17049
17273
  return;
@@ -17111,11 +17335,15 @@ class QueryProxy {
17111
17335
  const url2 = item.page.url;
17112
17336
  try {
17113
17337
  if (typeof window !== "undefined") {
17114
- await import(url2).then((module) => {}).catch((err) => {
17115
- console.error("引入Page脚本失败:", url2, err);
17116
- });
17338
+ await import(url2);
17339
+ if (item) {
17340
+ item.routerStatus = "active";
17341
+ }
17117
17342
  }
17118
17343
  } catch (e) {
17344
+ if (item) {
17345
+ item.routerStatus = "error";
17346
+ }
17119
17347
  console.warn("引入Page脚本失败:", url2, e);
17120
17348
  return;
17121
17349
  }
@@ -446,7 +446,7 @@ var require_spark_md5 = __commonJS((exports, module) => {
446
446
  });
447
447
  });
448
448
 
449
- // node_modules/@kevisual/query/dist/query-browser.js
449
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query-browser.js
450
450
  var isTextForContentType = (contentType) => {
451
451
  if (!contentType)
452
452
  return false;
@@ -1,4 +1,4 @@
1
- // node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -1,4 +1,4 @@
1
- // node_modules/@kevisual/query/dist/query-browser.js
1
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query-browser.js
2
2
  var isTextForContentType = (contentType) => {
3
3
  if (!contentType)
4
4
  return false;
@@ -286,7 +286,7 @@ class Query {
286
286
  }
287
287
  }
288
288
 
289
- // node_modules/@kevisual/router/dist/router-define.js
289
+ // node_modules/.pnpm/@kevisual+router@0.0.85/node_modules/@kevisual/router/dist/router-define.js
290
290
  class Chain {
291
291
  object;
292
292
  app;
@@ -435,7 +435,7 @@ var shopDefine = QueryUtil.create({
435
435
  }
436
436
  });
437
437
 
438
- // node_modules/@kevisual/query/dist/query.js
438
+ // node_modules/.pnpm/@kevisual+query@0.0.52/node_modules/@kevisual/query/dist/query.js
439
439
  class BaseQuery {
440
440
  query;
441
441
  queryDefine;
@@ -364,7 +364,7 @@ class QueryMark extends QueryMarkBase {
364
364
  }
365
365
  }
366
366
 
367
- // node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/array/uniqBy.mjs
367
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/array/uniqBy.mjs
368
368
  function uniqBy(arr, mapper) {
369
369
  const map = new Map;
370
370
  for (let i = 0;i < arr.length; i++) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevisual/api",
3
- "version": "0.0.61",
3
+ "version": "0.0.62",
4
4
  "description": "",
5
5
  "main": "mod.ts",
6
6
  "scripts": {
@@ -18,18 +18,18 @@
18
18
  "keywords": [],
19
19
  "author": "abearxiong <xiongxiao@xiongxiao.me> (https://www.xiongxiao.me)",
20
20
  "license": "MIT",
21
- "packageManager": "pnpm@10.30.1",
21
+ "packageManager": "pnpm@10.30.3",
22
22
  "type": "module",
23
23
  "devDependencies": {
24
24
  "@kevisual/cache": "^0.0.5",
25
25
  "@kevisual/code-builder": "^0.0.6",
26
- "@kevisual/query": "^0.0.49",
26
+ "@kevisual/query": "^0.0.52",
27
27
  "@kevisual/remote-app": "^0.0.4",
28
- "@kevisual/router": "^0.0.83",
28
+ "@kevisual/router": "^0.0.85",
29
29
  "@kevisual/types": "^0.0.12",
30
30
  "@kevisual/use-config": "^1.0.30",
31
- "@types/bun": "^1.3.9",
32
- "@types/node": "^25.3.0",
31
+ "@types/bun": "^1.3.10",
32
+ "@types/node": "^25.3.3",
33
33
  "@types/spark-md5": "^3.0.5",
34
34
  "dotenv": "^17.3.1",
35
35
  "fast-glob": "^3.3.3",
@@ -40,7 +40,7 @@
40
40
  "@kevisual/js-filter": "^0.0.5",
41
41
  "@kevisual/load": "^0.0.6",
42
42
  "@paralleldrive/cuid2": "^3.3.0",
43
- "es-toolkit": "^1.44.0",
43
+ "es-toolkit": "^1.45.1",
44
44
  "eventemitter3": "^5.0.4",
45
45
  "fuse.js": "^7.1.0",
46
46
  "nanoid": "^5.1.6",