@kevisual/router 0.0.72 → 0.0.73
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/app.js +20 -6
- package/dist/opencode.d.ts +6 -1
- package/dist/router-browser.d.ts +6 -1
- package/dist/router-browser.js +19 -5
- package/dist/router-define.d.ts +6 -1
- package/dist/router.d.ts +6 -1
- package/dist/router.js +19 -5
- package/dist/ws.d.ts +6 -1
- package/package.json +3 -3
- package/src/route.ts +20 -5
package/dist/app.js
CHANGED
|
@@ -17266,14 +17266,28 @@ class QueryRouter {
|
|
|
17266
17266
|
return false;
|
|
17267
17267
|
});
|
|
17268
17268
|
}
|
|
17269
|
-
createRouteList(
|
|
17269
|
+
createRouteList(opts) {
|
|
17270
17270
|
const hasListRoute = this.hasRoute("router", "list");
|
|
17271
|
-
if (!hasListRoute || force) {
|
|
17271
|
+
if (!hasListRoute || opts?.force) {
|
|
17272
17272
|
const listRoute = new Route("router", "list", {
|
|
17273
17273
|
description: "列出当前应用下的所有的路由信息",
|
|
17274
|
+
middleware: opts?.middleware || [],
|
|
17274
17275
|
run: async (ctx) => {
|
|
17275
|
-
const
|
|
17276
|
-
|
|
17276
|
+
const tokenUser = ctx.state.tokenUser;
|
|
17277
|
+
let isUser = !!tokenUser;
|
|
17278
|
+
const list = this.getList(opts?.filter).filter((item) => {
|
|
17279
|
+
if (item.id === "auth" || item.id === "auth-can" || item.id === "check-auth-admin" || item.id === "auth-admin") {
|
|
17280
|
+
return false;
|
|
17281
|
+
}
|
|
17282
|
+
return true;
|
|
17283
|
+
});
|
|
17284
|
+
ctx.body = {
|
|
17285
|
+
list: list.map((item) => {
|
|
17286
|
+
const route = pick(item, ["id", "path", "key", "description", "middleware"]);
|
|
17287
|
+
return toJSONSchema2(route);
|
|
17288
|
+
}),
|
|
17289
|
+
isUser
|
|
17290
|
+
};
|
|
17277
17291
|
}
|
|
17278
17292
|
});
|
|
17279
17293
|
this.add(listRoute);
|
|
@@ -17282,7 +17296,7 @@ class QueryRouter {
|
|
|
17282
17296
|
wait(params, opts) {
|
|
17283
17297
|
const getList = opts?.getList ?? true;
|
|
17284
17298
|
if (getList) {
|
|
17285
|
-
this.createRouteList(opts?.force
|
|
17299
|
+
this.createRouteList({ force: opts?.force, filter: opts?.filter, middleware: opts?.routeListMiddleware });
|
|
17286
17300
|
}
|
|
17287
17301
|
return listenProcess({ app: this, params, ...opts });
|
|
17288
17302
|
}
|
|
@@ -19439,7 +19453,7 @@ app
|
|
|
19439
19453
|
10. **中间件找不到会返回 404**,错误信息中会包含找不到的中间件列表。
|
|
19440
19454
|
`;
|
|
19441
19455
|
// package.json
|
|
19442
|
-
var version2 = "0.0.
|
|
19456
|
+
var version2 = "0.0.73";
|
|
19443
19457
|
|
|
19444
19458
|
// agent/routes/route-create.ts
|
|
19445
19459
|
app.route({
|
package/dist/opencode.d.ts
CHANGED
|
@@ -326,7 +326,11 @@ declare class QueryRouter {
|
|
|
326
326
|
}): Route<{
|
|
327
327
|
[key: string]: any;
|
|
328
328
|
}, SimpleObject>;
|
|
329
|
-
createRouteList(
|
|
329
|
+
createRouteList(opts?: {
|
|
330
|
+
force?: boolean;
|
|
331
|
+
filter?: (route: Route) => boolean;
|
|
332
|
+
middleware?: string[];
|
|
333
|
+
}): void;
|
|
330
334
|
/**
|
|
331
335
|
* 等待程序运行, 获取到message的数据,就执行
|
|
332
336
|
* params 是预设参数
|
|
@@ -343,6 +347,7 @@ declare class QueryRouter {
|
|
|
343
347
|
getList?: boolean;
|
|
344
348
|
force?: boolean;
|
|
345
349
|
filter?: (route: Route) => boolean;
|
|
350
|
+
routeListMiddleware?: string[];
|
|
346
351
|
}): Promise<void>;
|
|
347
352
|
toJSONSchema: (route: RouteInfo) => Pick<RouteInfo, "path" | "key" | "id" | "description" | "type" | "middleware" | "metadata">;
|
|
348
353
|
fromJSONSchema: (route: RouteInfo) => RouteInfo;
|
package/dist/router-browser.d.ts
CHANGED
|
@@ -355,7 +355,11 @@ declare class QueryRouter {
|
|
|
355
355
|
}): Route<{
|
|
356
356
|
[key: string]: any;
|
|
357
357
|
}, SimpleObject$1>;
|
|
358
|
-
createRouteList(
|
|
358
|
+
createRouteList(opts?: {
|
|
359
|
+
force?: boolean;
|
|
360
|
+
filter?: (route: Route) => boolean;
|
|
361
|
+
middleware?: string[];
|
|
362
|
+
}): void;
|
|
359
363
|
/**
|
|
360
364
|
* 等待程序运行, 获取到message的数据,就执行
|
|
361
365
|
* params 是预设参数
|
|
@@ -372,6 +376,7 @@ declare class QueryRouter {
|
|
|
372
376
|
getList?: boolean;
|
|
373
377
|
force?: boolean;
|
|
374
378
|
filter?: (route: Route) => boolean;
|
|
379
|
+
routeListMiddleware?: string[];
|
|
375
380
|
}): Promise<void>;
|
|
376
381
|
toJSONSchema: (route: RouteInfo) => Pick<RouteInfo, "path" | "key" | "id" | "description" | "type" | "middleware" | "metadata">;
|
|
377
382
|
fromJSONSchema: (route: RouteInfo) => RouteInfo;
|
package/dist/router-browser.js
CHANGED
|
@@ -14433,14 +14433,28 @@ class QueryRouter {
|
|
|
14433
14433
|
return false;
|
|
14434
14434
|
});
|
|
14435
14435
|
}
|
|
14436
|
-
createRouteList(
|
|
14436
|
+
createRouteList(opts) {
|
|
14437
14437
|
const hasListRoute = this.hasRoute("router", "list");
|
|
14438
|
-
if (!hasListRoute || force) {
|
|
14438
|
+
if (!hasListRoute || opts?.force) {
|
|
14439
14439
|
const listRoute = new Route("router", "list", {
|
|
14440
14440
|
description: "列出当前应用下的所有的路由信息",
|
|
14441
|
+
middleware: opts?.middleware || [],
|
|
14441
14442
|
run: async (ctx) => {
|
|
14442
|
-
const
|
|
14443
|
-
|
|
14443
|
+
const tokenUser = ctx.state.tokenUser;
|
|
14444
|
+
let isUser = !!tokenUser;
|
|
14445
|
+
const list = this.getList(opts?.filter).filter((item) => {
|
|
14446
|
+
if (item.id === "auth" || item.id === "auth-can" || item.id === "check-auth-admin" || item.id === "auth-admin") {
|
|
14447
|
+
return false;
|
|
14448
|
+
}
|
|
14449
|
+
return true;
|
|
14450
|
+
});
|
|
14451
|
+
ctx.body = {
|
|
14452
|
+
list: list.map((item) => {
|
|
14453
|
+
const route = pick(item, ["id", "path", "key", "description", "middleware"]);
|
|
14454
|
+
return toJSONSchema2(route);
|
|
14455
|
+
}),
|
|
14456
|
+
isUser
|
|
14457
|
+
};
|
|
14444
14458
|
}
|
|
14445
14459
|
});
|
|
14446
14460
|
this.add(listRoute);
|
|
@@ -14449,7 +14463,7 @@ class QueryRouter {
|
|
|
14449
14463
|
wait(params, opts) {
|
|
14450
14464
|
const getList = opts?.getList ?? true;
|
|
14451
14465
|
if (getList) {
|
|
14452
|
-
this.createRouteList(opts?.force
|
|
14466
|
+
this.createRouteList({ force: opts?.force, filter: opts?.filter, middleware: opts?.routeListMiddleware });
|
|
14453
14467
|
}
|
|
14454
14468
|
return listenProcess({ app: this, params, ...opts });
|
|
14455
14469
|
}
|
package/dist/router-define.d.ts
CHANGED
|
@@ -323,7 +323,11 @@ declare class QueryRouter {
|
|
|
323
323
|
}): Route<{
|
|
324
324
|
[key: string]: any;
|
|
325
325
|
}, SimpleObject$1>;
|
|
326
|
-
createRouteList(
|
|
326
|
+
createRouteList(opts?: {
|
|
327
|
+
force?: boolean;
|
|
328
|
+
filter?: (route: Route) => boolean;
|
|
329
|
+
middleware?: string[];
|
|
330
|
+
}): void;
|
|
327
331
|
/**
|
|
328
332
|
* 等待程序运行, 获取到message的数据,就执行
|
|
329
333
|
* params 是预设参数
|
|
@@ -340,6 +344,7 @@ declare class QueryRouter {
|
|
|
340
344
|
getList?: boolean;
|
|
341
345
|
force?: boolean;
|
|
342
346
|
filter?: (route: Route) => boolean;
|
|
347
|
+
routeListMiddleware?: string[];
|
|
343
348
|
}): Promise<void>;
|
|
344
349
|
toJSONSchema: (route: RouteInfo) => Pick<RouteInfo, "path" | "key" | "id" | "description" | "type" | "middleware" | "metadata">;
|
|
345
350
|
fromJSONSchema: (route: RouteInfo) => RouteInfo;
|
package/dist/router.d.ts
CHANGED
|
@@ -361,7 +361,11 @@ declare class QueryRouter {
|
|
|
361
361
|
}): Route<{
|
|
362
362
|
[key: string]: any;
|
|
363
363
|
}, SimpleObject$1>;
|
|
364
|
-
createRouteList(
|
|
364
|
+
createRouteList(opts?: {
|
|
365
|
+
force?: boolean;
|
|
366
|
+
filter?: (route: Route) => boolean;
|
|
367
|
+
middleware?: string[];
|
|
368
|
+
}): void;
|
|
365
369
|
/**
|
|
366
370
|
* 等待程序运行, 获取到message的数据,就执行
|
|
367
371
|
* params 是预设参数
|
|
@@ -378,6 +382,7 @@ declare class QueryRouter {
|
|
|
378
382
|
getList?: boolean;
|
|
379
383
|
force?: boolean;
|
|
380
384
|
filter?: (route: Route) => boolean;
|
|
385
|
+
routeListMiddleware?: string[];
|
|
381
386
|
}): Promise<void>;
|
|
382
387
|
toJSONSchema: (route: RouteInfo) => Pick<RouteInfo, "path" | "key" | "id" | "description" | "type" | "middleware" | "metadata">;
|
|
383
388
|
fromJSONSchema: (route: RouteInfo) => RouteInfo;
|
package/dist/router.js
CHANGED
|
@@ -17266,14 +17266,28 @@ class QueryRouter {
|
|
|
17266
17266
|
return false;
|
|
17267
17267
|
});
|
|
17268
17268
|
}
|
|
17269
|
-
createRouteList(
|
|
17269
|
+
createRouteList(opts) {
|
|
17270
17270
|
const hasListRoute = this.hasRoute("router", "list");
|
|
17271
|
-
if (!hasListRoute || force) {
|
|
17271
|
+
if (!hasListRoute || opts?.force) {
|
|
17272
17272
|
const listRoute = new Route("router", "list", {
|
|
17273
17273
|
description: "列出当前应用下的所有的路由信息",
|
|
17274
|
+
middleware: opts?.middleware || [],
|
|
17274
17275
|
run: async (ctx) => {
|
|
17275
|
-
const
|
|
17276
|
-
|
|
17276
|
+
const tokenUser = ctx.state.tokenUser;
|
|
17277
|
+
let isUser = !!tokenUser;
|
|
17278
|
+
const list = this.getList(opts?.filter).filter((item) => {
|
|
17279
|
+
if (item.id === "auth" || item.id === "auth-can" || item.id === "check-auth-admin" || item.id === "auth-admin") {
|
|
17280
|
+
return false;
|
|
17281
|
+
}
|
|
17282
|
+
return true;
|
|
17283
|
+
});
|
|
17284
|
+
ctx.body = {
|
|
17285
|
+
list: list.map((item) => {
|
|
17286
|
+
const route = pick(item, ["id", "path", "key", "description", "middleware"]);
|
|
17287
|
+
return toJSONSchema2(route);
|
|
17288
|
+
}),
|
|
17289
|
+
isUser
|
|
17290
|
+
};
|
|
17277
17291
|
}
|
|
17278
17292
|
});
|
|
17279
17293
|
this.add(listRoute);
|
|
@@ -17282,7 +17296,7 @@ class QueryRouter {
|
|
|
17282
17296
|
wait(params, opts) {
|
|
17283
17297
|
const getList = opts?.getList ?? true;
|
|
17284
17298
|
if (getList) {
|
|
17285
|
-
this.createRouteList(opts?.force
|
|
17299
|
+
this.createRouteList({ force: opts?.force, filter: opts?.filter, middleware: opts?.routeListMiddleware });
|
|
17286
17300
|
}
|
|
17287
17301
|
return listenProcess({ app: this, params, ...opts });
|
|
17288
17302
|
}
|
package/dist/ws.d.ts
CHANGED
|
@@ -373,7 +373,11 @@ declare class QueryRouter {
|
|
|
373
373
|
}): Route<{
|
|
374
374
|
[key: string]: any;
|
|
375
375
|
}, SimpleObject>;
|
|
376
|
-
createRouteList(
|
|
376
|
+
createRouteList(opts?: {
|
|
377
|
+
force?: boolean;
|
|
378
|
+
filter?: (route: Route) => boolean;
|
|
379
|
+
middleware?: string[];
|
|
380
|
+
}): void;
|
|
377
381
|
/**
|
|
378
382
|
* 等待程序运行, 获取到message的数据,就执行
|
|
379
383
|
* params 是预设参数
|
|
@@ -390,6 +394,7 @@ declare class QueryRouter {
|
|
|
390
394
|
getList?: boolean;
|
|
391
395
|
force?: boolean;
|
|
392
396
|
filter?: (route: Route) => boolean;
|
|
397
|
+
routeListMiddleware?: string[];
|
|
393
398
|
}): Promise<void>;
|
|
394
399
|
toJSONSchema: (route: RouteInfo) => Pick<RouteInfo, "path" | "key" | "id" | "description" | "type" | "middleware" | "metadata">;
|
|
395
400
|
fromJSONSchema: (route: RouteInfo) => RouteInfo;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
3
|
"name": "@kevisual/router",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.73",
|
|
5
5
|
"description": "",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/router.js",
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"keywords": [],
|
|
22
22
|
"author": "abearxiong",
|
|
23
23
|
"license": "MIT",
|
|
24
|
-
"packageManager": "pnpm@10.
|
|
24
|
+
"packageManager": "pnpm@10.30.0",
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@kevisual/code-builder": "^0.0.6",
|
|
27
27
|
"@kevisual/context": "^0.0.6",
|
|
28
28
|
"@kevisual/dts": "^0.0.4",
|
|
29
29
|
"@kevisual/js-filter": "^0.0.5",
|
|
30
30
|
"@kevisual/local-proxy": "^0.0.8",
|
|
31
|
-
"@kevisual/query": "^0.0.
|
|
31
|
+
"@kevisual/query": "^0.0.43",
|
|
32
32
|
"@kevisual/use-config": "^1.0.30",
|
|
33
33
|
"@opencode-ai/plugin": "^1.2.6",
|
|
34
34
|
"@types/bun": "^1.3.9",
|
package/src/route.ts
CHANGED
|
@@ -663,14 +663,28 @@ export class QueryRouter {
|
|
|
663
663
|
return false;
|
|
664
664
|
});
|
|
665
665
|
}
|
|
666
|
-
createRouteList(force
|
|
666
|
+
createRouteList(opts?: { force?: boolean, filter?: (route: Route) => boolean, middleware?: string[] }) {
|
|
667
667
|
const hasListRoute = this.hasRoute('router', 'list');
|
|
668
|
-
if (!hasListRoute || force) {
|
|
668
|
+
if (!hasListRoute || opts?.force) {
|
|
669
669
|
const listRoute = new Route('router', 'list', {
|
|
670
670
|
description: '列出当前应用下的所有的路由信息',
|
|
671
|
+
middleware: opts?.middleware || [],
|
|
671
672
|
run: async (ctx: RouteContext) => {
|
|
672
|
-
const
|
|
673
|
-
|
|
673
|
+
const tokenUser = ctx.state.tokenUser;
|
|
674
|
+
let isUser = !!tokenUser;
|
|
675
|
+
const list = this.getList(opts?.filter).filter((item) => {
|
|
676
|
+
if (item.id === 'auth' || item.id === 'auth-can' || item.id === 'check-auth-admin' || item.id === 'auth-admin') {
|
|
677
|
+
return false;
|
|
678
|
+
}
|
|
679
|
+
return true;
|
|
680
|
+
});
|
|
681
|
+
ctx.body = {
|
|
682
|
+
list: list.map((item) => {
|
|
683
|
+
const route = pick(item, ['id', 'path', 'key', 'description', 'middleware'] as const);
|
|
684
|
+
return toJSONSchema(route);
|
|
685
|
+
}),
|
|
686
|
+
isUser
|
|
687
|
+
};
|
|
674
688
|
},
|
|
675
689
|
});
|
|
676
690
|
this.add(listRoute);
|
|
@@ -690,10 +704,11 @@ export class QueryRouter {
|
|
|
690
704
|
getList?: boolean
|
|
691
705
|
force?: boolean
|
|
692
706
|
filter?: (route: Route) => boolean
|
|
707
|
+
routeListMiddleware?: string[]
|
|
693
708
|
}) {
|
|
694
709
|
const getList = opts?.getList ?? true;
|
|
695
710
|
if (getList) {
|
|
696
|
-
this.createRouteList(opts?.force
|
|
711
|
+
this.createRouteList({ force: opts?.force, filter: opts?.filter, middleware: opts?.routeListMiddleware });
|
|
697
712
|
}
|
|
698
713
|
return listenProcess({ app: this as any, params, ...opts });
|
|
699
714
|
}
|