@kevisual/router 0.0.59 → 0.0.61
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/agent/app.ts +5 -0
- package/agent/gen/index.ts +205 -0
- package/agent/gen.ts +42 -0
- package/agent/main.ts +6 -0
- package/agent/routes/index.ts +14 -0
- package/agent/routes/route-create.ts +45 -0
- package/dist/app.d.ts +5 -0
- package/dist/app.js +19363 -0
- package/dist/opencode.d.ts +2 -1
- package/dist/opencode.js +362 -9
- package/dist/router-browser.d.ts +17 -2
- package/dist/router-browser.js +407 -10
- package/dist/router.d.ts +17 -3
- package/dist/router.js +15656 -15613
- package/package.json +5 -2
- package/src/app.ts +0 -1
- package/src/browser.ts +2 -0
- package/src/index.ts +2 -0
- package/src/opencode.ts +4 -0
- package/src/result/error.ts +2 -2
- package/src/route.ts +6 -5
- package/src/test/mini.ts +14 -0
- package/src/test/run-mini.ts +56 -0
- package/src/utils/listen-process.ts +60 -12
package/dist/router-browser.js
CHANGED
|
@@ -99,20 +99,412 @@ function pick$1(obj, keys) {
|
|
|
99
99
|
return result;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
function getDefaultExportFromCjs (x) {
|
|
103
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
var eventemitter3 = {exports: {}};
|
|
107
|
+
|
|
108
|
+
var hasRequiredEventemitter3;
|
|
109
|
+
|
|
110
|
+
function requireEventemitter3 () {
|
|
111
|
+
if (hasRequiredEventemitter3) return eventemitter3.exports;
|
|
112
|
+
hasRequiredEventemitter3 = 1;
|
|
113
|
+
(function (module) {
|
|
114
|
+
|
|
115
|
+
var has = Object.prototype.hasOwnProperty
|
|
116
|
+
, prefix = '~';
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Constructor to create a storage for our `EE` objects.
|
|
120
|
+
* An `Events` instance is a plain object whose properties are event names.
|
|
121
|
+
*
|
|
122
|
+
* @constructor
|
|
123
|
+
* @private
|
|
124
|
+
*/
|
|
125
|
+
function Events() {}
|
|
126
|
+
|
|
127
|
+
//
|
|
128
|
+
// We try to not inherit from `Object.prototype`. In some engines creating an
|
|
129
|
+
// instance in this way is faster than calling `Object.create(null)` directly.
|
|
130
|
+
// If `Object.create(null)` is not supported we prefix the event names with a
|
|
131
|
+
// character to make sure that the built-in object properties are not
|
|
132
|
+
// overridden or used as an attack vector.
|
|
133
|
+
//
|
|
134
|
+
if (Object.create) {
|
|
135
|
+
Events.prototype = Object.create(null);
|
|
136
|
+
|
|
137
|
+
//
|
|
138
|
+
// This hack is needed because the `__proto__` property is still inherited in
|
|
139
|
+
// some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.
|
|
140
|
+
//
|
|
141
|
+
if (!new Events().__proto__) prefix = false;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Representation of a single event listener.
|
|
146
|
+
*
|
|
147
|
+
* @param {Function} fn The listener function.
|
|
148
|
+
* @param {*} context The context to invoke the listener with.
|
|
149
|
+
* @param {Boolean} [once=false] Specify if the listener is a one-time listener.
|
|
150
|
+
* @constructor
|
|
151
|
+
* @private
|
|
152
|
+
*/
|
|
153
|
+
function EE(fn, context, once) {
|
|
154
|
+
this.fn = fn;
|
|
155
|
+
this.context = context;
|
|
156
|
+
this.once = once || false;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Add a listener for a given event.
|
|
161
|
+
*
|
|
162
|
+
* @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
|
|
163
|
+
* @param {(String|Symbol)} event The event name.
|
|
164
|
+
* @param {Function} fn The listener function.
|
|
165
|
+
* @param {*} context The context to invoke the listener with.
|
|
166
|
+
* @param {Boolean} once Specify if the listener is a one-time listener.
|
|
167
|
+
* @returns {EventEmitter}
|
|
168
|
+
* @private
|
|
169
|
+
*/
|
|
170
|
+
function addListener(emitter, event, fn, context, once) {
|
|
171
|
+
if (typeof fn !== 'function') {
|
|
172
|
+
throw new TypeError('The listener must be a function');
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
var listener = new EE(fn, context || emitter, once)
|
|
176
|
+
, evt = prefix ? prefix + event : event;
|
|
177
|
+
|
|
178
|
+
if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;
|
|
179
|
+
else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);
|
|
180
|
+
else emitter._events[evt] = [emitter._events[evt], listener];
|
|
181
|
+
|
|
182
|
+
return emitter;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Clear event by name.
|
|
187
|
+
*
|
|
188
|
+
* @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
|
|
189
|
+
* @param {(String|Symbol)} evt The Event name.
|
|
190
|
+
* @private
|
|
191
|
+
*/
|
|
192
|
+
function clearEvent(emitter, evt) {
|
|
193
|
+
if (--emitter._eventsCount === 0) emitter._events = new Events();
|
|
194
|
+
else delete emitter._events[evt];
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Minimal `EventEmitter` interface that is molded against the Node.js
|
|
199
|
+
* `EventEmitter` interface.
|
|
200
|
+
*
|
|
201
|
+
* @constructor
|
|
202
|
+
* @public
|
|
203
|
+
*/
|
|
204
|
+
function EventEmitter() {
|
|
205
|
+
this._events = new Events();
|
|
206
|
+
this._eventsCount = 0;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Return an array listing the events for which the emitter has registered
|
|
211
|
+
* listeners.
|
|
212
|
+
*
|
|
213
|
+
* @returns {Array}
|
|
214
|
+
* @public
|
|
215
|
+
*/
|
|
216
|
+
EventEmitter.prototype.eventNames = function eventNames() {
|
|
217
|
+
var names = []
|
|
218
|
+
, events
|
|
219
|
+
, name;
|
|
220
|
+
|
|
221
|
+
if (this._eventsCount === 0) return names;
|
|
222
|
+
|
|
223
|
+
for (name in (events = this._events)) {
|
|
224
|
+
if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
if (Object.getOwnPropertySymbols) {
|
|
228
|
+
return names.concat(Object.getOwnPropertySymbols(events));
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return names;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Return the listeners registered for a given event.
|
|
236
|
+
*
|
|
237
|
+
* @param {(String|Symbol)} event The event name.
|
|
238
|
+
* @returns {Array} The registered listeners.
|
|
239
|
+
* @public
|
|
240
|
+
*/
|
|
241
|
+
EventEmitter.prototype.listeners = function listeners(event) {
|
|
242
|
+
var evt = prefix ? prefix + event : event
|
|
243
|
+
, handlers = this._events[evt];
|
|
244
|
+
|
|
245
|
+
if (!handlers) return [];
|
|
246
|
+
if (handlers.fn) return [handlers.fn];
|
|
247
|
+
|
|
248
|
+
for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
|
|
249
|
+
ee[i] = handlers[i].fn;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
return ee;
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Return the number of listeners listening to a given event.
|
|
257
|
+
*
|
|
258
|
+
* @param {(String|Symbol)} event The event name.
|
|
259
|
+
* @returns {Number} The number of listeners.
|
|
260
|
+
* @public
|
|
261
|
+
*/
|
|
262
|
+
EventEmitter.prototype.listenerCount = function listenerCount(event) {
|
|
263
|
+
var evt = prefix ? prefix + event : event
|
|
264
|
+
, listeners = this._events[evt];
|
|
265
|
+
|
|
266
|
+
if (!listeners) return 0;
|
|
267
|
+
if (listeners.fn) return 1;
|
|
268
|
+
return listeners.length;
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Calls each of the listeners registered for a given event.
|
|
273
|
+
*
|
|
274
|
+
* @param {(String|Symbol)} event The event name.
|
|
275
|
+
* @returns {Boolean} `true` if the event had listeners, else `false`.
|
|
276
|
+
* @public
|
|
277
|
+
*/
|
|
278
|
+
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
|
279
|
+
var evt = prefix ? prefix + event : event;
|
|
280
|
+
|
|
281
|
+
if (!this._events[evt]) return false;
|
|
282
|
+
|
|
283
|
+
var listeners = this._events[evt]
|
|
284
|
+
, len = arguments.length
|
|
285
|
+
, args
|
|
286
|
+
, i;
|
|
287
|
+
|
|
288
|
+
if (listeners.fn) {
|
|
289
|
+
if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);
|
|
290
|
+
|
|
291
|
+
switch (len) {
|
|
292
|
+
case 1: return listeners.fn.call(listeners.context), true;
|
|
293
|
+
case 2: return listeners.fn.call(listeners.context, a1), true;
|
|
294
|
+
case 3: return listeners.fn.call(listeners.context, a1, a2), true;
|
|
295
|
+
case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;
|
|
296
|
+
case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
|
|
297
|
+
case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
for (i = 1, args = new Array(len -1); i < len; i++) {
|
|
301
|
+
args[i - 1] = arguments[i];
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
listeners.fn.apply(listeners.context, args);
|
|
305
|
+
} else {
|
|
306
|
+
var length = listeners.length
|
|
307
|
+
, j;
|
|
308
|
+
|
|
309
|
+
for (i = 0; i < length; i++) {
|
|
310
|
+
if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
|
|
311
|
+
|
|
312
|
+
switch (len) {
|
|
313
|
+
case 1: listeners[i].fn.call(listeners[i].context); break;
|
|
314
|
+
case 2: listeners[i].fn.call(listeners[i].context, a1); break;
|
|
315
|
+
case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
|
|
316
|
+
case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;
|
|
317
|
+
default:
|
|
318
|
+
if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
|
|
319
|
+
args[j - 1] = arguments[j];
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
listeners[i].fn.apply(listeners[i].context, args);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
return true;
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Add a listener for a given event.
|
|
332
|
+
*
|
|
333
|
+
* @param {(String|Symbol)} event The event name.
|
|
334
|
+
* @param {Function} fn The listener function.
|
|
335
|
+
* @param {*} [context=this] The context to invoke the listener with.
|
|
336
|
+
* @returns {EventEmitter} `this`.
|
|
337
|
+
* @public
|
|
338
|
+
*/
|
|
339
|
+
EventEmitter.prototype.on = function on(event, fn, context) {
|
|
340
|
+
return addListener(this, event, fn, context, false);
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Add a one-time listener for a given event.
|
|
345
|
+
*
|
|
346
|
+
* @param {(String|Symbol)} event The event name.
|
|
347
|
+
* @param {Function} fn The listener function.
|
|
348
|
+
* @param {*} [context=this] The context to invoke the listener with.
|
|
349
|
+
* @returns {EventEmitter} `this`.
|
|
350
|
+
* @public
|
|
351
|
+
*/
|
|
352
|
+
EventEmitter.prototype.once = function once(event, fn, context) {
|
|
353
|
+
return addListener(this, event, fn, context, true);
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Remove the listeners of a given event.
|
|
358
|
+
*
|
|
359
|
+
* @param {(String|Symbol)} event The event name.
|
|
360
|
+
* @param {Function} fn Only remove the listeners that match this function.
|
|
361
|
+
* @param {*} context Only remove the listeners that have this context.
|
|
362
|
+
* @param {Boolean} once Only remove one-time listeners.
|
|
363
|
+
* @returns {EventEmitter} `this`.
|
|
364
|
+
* @public
|
|
365
|
+
*/
|
|
366
|
+
EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
|
|
367
|
+
var evt = prefix ? prefix + event : event;
|
|
368
|
+
|
|
369
|
+
if (!this._events[evt]) return this;
|
|
370
|
+
if (!fn) {
|
|
371
|
+
clearEvent(this, evt);
|
|
372
|
+
return this;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
var listeners = this._events[evt];
|
|
376
|
+
|
|
377
|
+
if (listeners.fn) {
|
|
378
|
+
if (
|
|
379
|
+
listeners.fn === fn &&
|
|
380
|
+
(!once || listeners.once) &&
|
|
381
|
+
(!context || listeners.context === context)
|
|
382
|
+
) {
|
|
383
|
+
clearEvent(this, evt);
|
|
384
|
+
}
|
|
385
|
+
} else {
|
|
386
|
+
for (var i = 0, events = [], length = listeners.length; i < length; i++) {
|
|
387
|
+
if (
|
|
388
|
+
listeners[i].fn !== fn ||
|
|
389
|
+
(once && !listeners[i].once) ||
|
|
390
|
+
(context && listeners[i].context !== context)
|
|
391
|
+
) {
|
|
392
|
+
events.push(listeners[i]);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
//
|
|
397
|
+
// Reset the array, or remove it completely if we have no more listeners.
|
|
398
|
+
//
|
|
399
|
+
if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
|
|
400
|
+
else clearEvent(this, evt);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
return this;
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* Remove all listeners, or those of the specified event.
|
|
408
|
+
*
|
|
409
|
+
* @param {(String|Symbol)} [event] The event name.
|
|
410
|
+
* @returns {EventEmitter} `this`.
|
|
411
|
+
* @public
|
|
412
|
+
*/
|
|
413
|
+
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
|
|
414
|
+
var evt;
|
|
415
|
+
|
|
416
|
+
if (event) {
|
|
417
|
+
evt = prefix ? prefix + event : event;
|
|
418
|
+
if (this._events[evt]) clearEvent(this, evt);
|
|
419
|
+
} else {
|
|
420
|
+
this._events = new Events();
|
|
421
|
+
this._eventsCount = 0;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
return this;
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
//
|
|
428
|
+
// Alias methods names because people roll like that.
|
|
429
|
+
//
|
|
430
|
+
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
|
431
|
+
EventEmitter.prototype.addListener = EventEmitter.prototype.on;
|
|
432
|
+
|
|
433
|
+
//
|
|
434
|
+
// Expose the prefix.
|
|
435
|
+
//
|
|
436
|
+
EventEmitter.prefixed = prefix;
|
|
437
|
+
|
|
438
|
+
//
|
|
439
|
+
// Allow `EventEmitter` to be imported as module namespace.
|
|
440
|
+
//
|
|
441
|
+
EventEmitter.EventEmitter = EventEmitter;
|
|
442
|
+
|
|
443
|
+
//
|
|
444
|
+
// Expose the module.
|
|
445
|
+
//
|
|
446
|
+
{
|
|
447
|
+
module.exports = EventEmitter;
|
|
448
|
+
}
|
|
449
|
+
} (eventemitter3));
|
|
450
|
+
return eventemitter3.exports;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
var eventemitter3Exports = requireEventemitter3();
|
|
454
|
+
var EventEmitter = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);
|
|
455
|
+
|
|
456
|
+
class MockProcess {
|
|
457
|
+
emitter;
|
|
458
|
+
process;
|
|
459
|
+
constructor(opts) {
|
|
460
|
+
this.emitter = opts?.emitter || new EventEmitter();
|
|
461
|
+
const isNode = opts?.isNode ?? true;
|
|
462
|
+
if (isNode) {
|
|
463
|
+
this.process = globalThis?.process;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
send(data, callback) {
|
|
467
|
+
if (this.process) {
|
|
468
|
+
this.process?.send?.(data, (err) => {
|
|
469
|
+
callback(err);
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
this.emitter.emit('send', data);
|
|
473
|
+
}
|
|
474
|
+
exit(flag = 0) {
|
|
475
|
+
if (this.process) {
|
|
476
|
+
this.process?.exit?.(flag);
|
|
477
|
+
}
|
|
478
|
+
this.emitter.emit('exit', flag);
|
|
479
|
+
}
|
|
480
|
+
on(fn) {
|
|
481
|
+
if (this.process) {
|
|
482
|
+
this.process.on('message', fn);
|
|
483
|
+
}
|
|
484
|
+
this.emitter.on('message', fn);
|
|
485
|
+
}
|
|
486
|
+
desctroy() {
|
|
487
|
+
if (this.emitter) {
|
|
488
|
+
this.emitter = undefined;
|
|
489
|
+
}
|
|
490
|
+
this.process = undefined;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
const listenProcess = async ({ app, mockProcess, params, timeout = 10 * 60 * 60 * 1000 }) => {
|
|
494
|
+
const process = mockProcess || new MockProcess();
|
|
104
495
|
let isEnd = false;
|
|
105
496
|
const timer = setTimeout(() => {
|
|
106
497
|
if (isEnd)
|
|
107
498
|
return;
|
|
108
499
|
isEnd = true;
|
|
109
|
-
process.send?.({ success: false, error: 'Timeout' })
|
|
110
|
-
|
|
500
|
+
process.send?.({ success: false, error: 'Timeout' }, () => {
|
|
501
|
+
process.exit?.(1);
|
|
502
|
+
});
|
|
111
503
|
}, timeout);
|
|
112
504
|
// 监听来自主进程的消息
|
|
113
505
|
const getParams = async () => {
|
|
114
506
|
return new Promise((resolve) => {
|
|
115
|
-
process.on(
|
|
507
|
+
process.on((msg) => {
|
|
116
508
|
if (isEnd)
|
|
117
509
|
return;
|
|
118
510
|
isEnd = true;
|
|
@@ -122,16 +514,19 @@ const listenProcess = async ({ app, emitter, params, timeout = 10 * 60 * 60 * 10
|
|
|
122
514
|
});
|
|
123
515
|
};
|
|
124
516
|
try {
|
|
125
|
-
|
|
517
|
+
/**
|
|
518
|
+
* 如果不提供path,默认是main
|
|
519
|
+
*/
|
|
520
|
+
const { path = 'main', payload = {}, ...rest } = await getParams();
|
|
126
521
|
// 执行主要逻辑
|
|
127
|
-
const result = await app.
|
|
522
|
+
const result = await app.run({ path, ...params, ...rest, payload: { ...params?.payload, ...payload } });
|
|
128
523
|
// 发送结果回主进程
|
|
129
524
|
const response = {
|
|
130
525
|
success: true,
|
|
131
526
|
data: result,
|
|
132
527
|
timestamp: new Date().toISOString()
|
|
133
528
|
};
|
|
134
|
-
process.send?.(response, (
|
|
529
|
+
process.send?.(response, () => {
|
|
135
530
|
process.exit?.(0);
|
|
136
531
|
});
|
|
137
532
|
}
|
|
@@ -139,8 +534,9 @@ const listenProcess = async ({ app, emitter, params, timeout = 10 * 60 * 60 * 10
|
|
|
139
534
|
process.send?.({
|
|
140
535
|
success: false,
|
|
141
536
|
error: error.message
|
|
537
|
+
}, () => {
|
|
538
|
+
process.exit?.(1);
|
|
142
539
|
});
|
|
143
|
-
process.exit?.(1);
|
|
144
540
|
}
|
|
145
541
|
};
|
|
146
542
|
|
|
@@ -15024,6 +15420,7 @@ class QueryRouter {
|
|
|
15024
15420
|
}
|
|
15025
15421
|
/**
|
|
15026
15422
|
* 等待程序运行, 获取到message的数据,就执行
|
|
15423
|
+
* params 是预设参数,默认path为main
|
|
15027
15424
|
*
|
|
15028
15425
|
* emitter = process
|
|
15029
15426
|
* -- .exit
|
|
@@ -15288,4 +15685,4 @@ class QueryUtil {
|
|
|
15288
15685
|
|
|
15289
15686
|
const App = QueryRouterServer;
|
|
15290
15687
|
|
|
15291
|
-
export { App, CustomError, Mini, QueryRouter, QueryRouterServer, QueryUtil, Route, createSchema, createSkill, define, tool, util };
|
|
15688
|
+
export { App, CustomError, Mini, MockProcess, QueryRouter, QueryRouterServer, QueryUtil, Route, createSchema, createSkill, define, tool, util };
|
package/dist/router.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { RouteOpts as RouteOpts$1, QueryRouterServer as QueryRouterServer$1, RouteMiddleware as RouteMiddleware$1, Run as Run$1 } from '@kevisual/router';
|
|
3
3
|
import { Query, DataOpts, Result } from '@kevisual/query/query';
|
|
4
|
+
import { EventEmitter } from 'eventemitter3';
|
|
4
5
|
import * as http from 'node:http';
|
|
5
6
|
import http__default, { IncomingMessage, ServerResponse } from 'node:http';
|
|
6
7
|
import https from 'node:https';
|
|
7
8
|
import http2 from 'node:http2';
|
|
8
|
-
import { EventEmitter } from 'eventemitter3';
|
|
9
9
|
import { WebSocketServer } from 'ws';
|
|
10
10
|
import { IncomingMessage as IncomingMessage$1, ServerResponse as ServerResponse$1 } from 'http';
|
|
11
11
|
|
|
@@ -85,7 +85,7 @@ type RouteContext<T = {
|
|
|
85
85
|
needSerialize?: boolean;
|
|
86
86
|
} & T;
|
|
87
87
|
type SimpleObject$1 = Record<string, any>;
|
|
88
|
-
type Run<T extends SimpleObject$1 = {}> = (ctx: RouteContext<T
|
|
88
|
+
type Run<T extends SimpleObject$1 = {}> = (ctx: Required<RouteContext<T>>) => Promise<typeof ctx | null | void>;
|
|
89
89
|
type NextRoute = Pick<Route, 'id' | 'path' | 'key'>;
|
|
90
90
|
type RouteMiddleware = {
|
|
91
91
|
path: string;
|
|
@@ -314,6 +314,7 @@ declare class QueryRouter {
|
|
|
314
314
|
createRouteList(force?: boolean, filter?: (route: Route) => boolean): void;
|
|
315
315
|
/**
|
|
316
316
|
* 等待程序运行, 获取到message的数据,就执行
|
|
317
|
+
* params 是预设参数,默认path为main
|
|
317
318
|
*
|
|
318
319
|
* emitter = process
|
|
319
320
|
* -- .exit
|
|
@@ -517,6 +518,19 @@ declare class QueryUtil<T extends RouteObject = RouteObject> {
|
|
|
517
518
|
get routeObject(): T;
|
|
518
519
|
}
|
|
519
520
|
|
|
521
|
+
declare class MockProcess {
|
|
522
|
+
emitter?: EventEmitter;
|
|
523
|
+
process?: NodeJS.Process;
|
|
524
|
+
constructor(opts?: {
|
|
525
|
+
emitter?: EventEmitter;
|
|
526
|
+
isNode?: boolean;
|
|
527
|
+
});
|
|
528
|
+
send(data?: any, callback?: (err?: Error) => void): void;
|
|
529
|
+
exit(flag?: number): void;
|
|
530
|
+
on(fn: (msg?: any) => any): void;
|
|
531
|
+
desctroy(): void;
|
|
532
|
+
}
|
|
533
|
+
|
|
520
534
|
type Cors$2 = {
|
|
521
535
|
/**
|
|
522
536
|
* @default '*''
|
|
@@ -926,5 +940,5 @@ type GlobOptions = {
|
|
|
926
940
|
};
|
|
927
941
|
declare const loadTS: (match?: string, { cwd, load }?: GlobOptions) => Promise<any[]>;
|
|
928
942
|
|
|
929
|
-
export { App, CustomError, Mini, QueryRouter, QueryRouterServer, QueryUtil, Route, ServerNode, createSchema, createSkill, define, handleServer, loadTS, tool, util };
|
|
943
|
+
export { App, CustomError, Mini, MockProcess, QueryRouter, QueryRouterServer, QueryUtil, Route, ServerNode, createSchema, createSkill, define, handleServer, loadTS, tool, util };
|
|
930
944
|
export type { HttpListenerFun, Listener, OnListener, OnWebSocketFn, RouteArray, RouteContext, RouteMiddleware, RouteObject, RouteOpts, RouterReq, RouterRes, Rule, Run, Schema, Skill, WS, WebSocketListenerFun, WebSocketReq, WebSocketRes };
|