更新 @kevisual/api 版本至 0.0.13,提升 @kevisual/router 和 @kevisual/js-filter 版本,重构 RouterViewApi、RouterViewContext 和 RouterViewWorker 类型,合并公共属性以提高代码可读性

This commit is contained in:
2025-12-31 15:06:17 +08:00
parent 4a2d2a7958
commit 99645e6260
3 changed files with 27 additions and 25 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@kevisual/api",
"version": "0.0.12",
"version": "0.0.13",
"description": "",
"main": "mod.ts",
"scripts": {
@@ -18,12 +18,12 @@
"keywords": [],
"author": "abearxiong <xiongxiao@xiongxiao.me> (https://www.xiongxiao.me)",
"license": "MIT",
"packageManager": "pnpm@10.26.2",
"packageManager": "pnpm@10.27.0",
"type": "module",
"devDependencies": {
"@kevisual/cache": "^0.0.4",
"@kevisual/query": "^0.0.33",
"@kevisual/router": "^0.0.51",
"@kevisual/router": "^0.0.52",
"@kevisual/types": "^0.0.10",
"@kevisual/use-config": "^1.0.21",
"@types/bun": "^1.3.5",
@@ -32,7 +32,7 @@
"fast-glob": "^3.3.3"
},
"dependencies": {
"@kevisual/js-filter": "^0.0.2",
"@kevisual/js-filter": "^0.0.3",
"@kevisual/load": "^0.0.6",
"es-toolkit": "^1.43.0",
"eventemitter3": "^5.0.1",

21
pnpm-lock.yaml generated
View File

@@ -9,8 +9,8 @@ importers:
.:
dependencies:
'@kevisual/js-filter':
specifier: ^0.0.2
version: 0.0.2
specifier: ^0.0.3
version: 0.0.3
'@kevisual/load':
specifier: ^0.0.6
version: 0.0.6
@@ -31,8 +31,8 @@ importers:
specifier: ^0.0.33
version: 0.0.33
'@kevisual/router':
specifier: ^0.0.51
version: 0.0.51
specifier: ^0.0.52
version: 0.0.52
'@kevisual/types':
specifier: ^0.0.10
version: 0.0.10
@@ -77,8 +77,8 @@ packages:
'@kevisual/cache@0.0.4':
resolution: {integrity: sha512-NlyriJ9fC27TgQhWYbEH9hG84R2k0lIofOxo/+nVHN6a6LJSLnVbpDIysRcnH8MI52n/XHfWwLSjeDDL3D1/cQ==}
'@kevisual/js-filter@0.0.2':
resolution: {integrity: sha512-SS8diRpjrAIEQKT8YMTa1XTucQKuPbG04UChXtp7wd1jPsvQaNKYapErRA8qx4igwoVQt6eAYADwYzXhB1fN2A==}
'@kevisual/js-filter@0.0.3':
resolution: {integrity: sha512-vgUB2fUAWS75GUFr/a/tGSSDrPUUmVDktO38k3hIKwU3ZE4tpuhcVxrpUbkXlFS5i0rbL2mAQeID1C6kIlMGRg==}
'@kevisual/load@0.0.6':
resolution: {integrity: sha512-+3YTFehRcZ1haGel5DKYMUwmi5i6f2psyaPZlfkKU/cOXgkpwoG9/BEqPCnPjicKqqnksEpixVRkyHJ+5bjLVA==}
@@ -92,8 +92,8 @@ packages:
'@kevisual/router@0.0.20':
resolution: {integrity: sha512-uSwDYWh+kvAu6i0m0SJVgcLR/CYz7WvIWGz0nSF8Vg6smJuAgI+laHR4ESO8Fbz+Xn8bPHuSwmM//HHLMLx2FA==}
'@kevisual/router@0.0.51':
resolution: {integrity: sha512-i9qYBeS/um78oC912oWJD3iElB+5NTKyTrz1Hzf4DckiUFnjLL81UPwjIh5I2l9+ul0IZ/Pxx+sFSF99fJkzKg==}
'@kevisual/router@0.0.52':
resolution: {integrity: sha512-Qiv3P1XjzD813Tm79S+atrDb2eickGCI9tuy/aCu512LcoYYJqZhwwkeT4ES0DinnA13Ckqd43QWBR6UmuYkHQ==}
'@kevisual/types@0.0.10':
resolution: {integrity: sha512-Q73uzzjk9UidumnmCvOpgzqDDvQxsblz22bIFuoiioUFJWwaparx8bpd8ArRyFojicYL1YJoFDzDZ9j9NN8grA==}
@@ -532,7 +532,7 @@ snapshots:
lru-cache: 11.2.4
nanoid: 5.1.6
'@kevisual/js-filter@0.0.2': {}
'@kevisual/js-filter@0.0.3': {}
'@kevisual/load@0.0.6':
dependencies:
@@ -553,8 +553,9 @@ snapshots:
path-to-regexp: 8.2.0
selfsigned: 2.4.1
'@kevisual/router@0.0.51':
'@kevisual/router@0.0.52':
dependencies:
eventemitter3: 5.0.1
path-to-regexp: 8.3.0
selfsigned: 5.4.0
send: 1.2.1

View File

@@ -4,33 +4,30 @@ import { filter } from '@kevisual/js-filter'
import { EventEmitter } from 'eventemitter3';
export type RouterViewItem = RouterViewApi | RouterViewContext | RouterViewWorker;
export type RouterViewApi = {
type RouteViewBase = {
id: string;
title: string;
description: string;
enabled?: boolean;
}
export type RouterViewApi = {
type: 'api',
api: {
url: string,
// 已初始化的query实例
query?: Query
}
}
} & RouteViewBase;
export type RouterViewContext = {
id: string;
title: string;
description: string;
type: 'context',
context: {
key: string,
// 从context中获取router
router?: QueryRouterServer
}
}
} & RouteViewBase;
export type RouterViewWorker = {
id: string;
title: string;
description: string;
type: 'worker',
worker: {
type: 'Worker' | 'SharedWorker' | 'serviceWorker',
@@ -45,7 +42,8 @@ export type RouterViewWorker = {
type: 'module' | 'classic'
}
}
}
} & RouteViewBase;
export type RouterViewQuery = {
id: string,
query: string,
@@ -82,7 +80,7 @@ export class QueryProxy {
}
}
async initRouterViewQuery() {
this.routerViewItems = this.routerViewItems?.map(item => {
this.routerViewItems = this.routerViewItems.map(item => {
if (item.type === 'api' && item.api?.url) {
const url = item.api.url;
if (item?.api?.query) return item;
@@ -127,6 +125,9 @@ export class QueryProxy {
}
}
return item;
}).filter(item => {
const enabled = item.enabled ?? true;
return enabled;
});
}