feat: refactor query proxy and router API, add random utilities, and create index files for queries

- Updated imports in proxy.ts to use browser-specific router.
- Refactored router-api-proxy.ts to streamline imports.
- Enhanced random.ts with additional utility functions for generating random IDs and letters.
- Created bun.config.ts for building query modules dynamically.
- Added index files for query modules (query-ai, query-app, query-config, query-login, query-shop, query-upload) to facilitate exports.
- Implemented get-query-list.ts to automate the generation of package entries for queries.
This commit is contained in:
2026-02-03 01:30:06 +08:00
parent 171847a46c
commit 2fec4dd04e
14 changed files with 83 additions and 524 deletions

1
query/query-ai/index.ts Normal file
View File

@@ -0,0 +1 @@
export * from './query-ai.ts'

1
query/query-app/index.ts Normal file
View File

@@ -0,0 +1 @@
export * from './query-app.ts'

View File

@@ -0,0 +1 @@
export * from './query-config.ts';

View File

@@ -0,0 +1 @@
export * from './query-login-browser.ts';

View File

@@ -1,5 +1,5 @@
import { QueryClient as Query, Result } from '@kevisual/query';
import { QueryRouterServer, App, Route } from '@kevisual/router';
import { QueryRouterServer, type App, type Route } from '@kevisual/router/browser';
import { filter } from '@kevisual/js-filter'
import { EventEmitter } from 'eventemitter3';
import { initApi } from './router-api-proxy.ts';

View File

@@ -1,6 +1,6 @@
import { Query } from "@kevisual/query";
import { RouterViewApi, RouterItem } from "./proxy.ts";
import { App, type QueryRouterServer } from "@kevisual/router";
import { type App, type QueryRouterServer } from "@kevisual/router";
import { filter } from "@kevisual/js-filter";
import { isBrowser } from "es-toolkit";
export const initApi = async (opts: {

View File

@@ -0,0 +1 @@
export * from './query-shop.ts'

View File

@@ -0,0 +1 @@
export * from './query-upload-browser.ts';

1
query/utils/index.ts Normal file
View File

@@ -0,0 +1 @@
export * from './random.ts';

View File

@@ -4,10 +4,19 @@ export const letter = 'abcdefghijklmnopqrstuvwxyz';
export const number = '0123456789';
const alphanumeric = `${letter}${number}`;
export const alphanumericWithDash = `${alphanumeric}-`;
/**
* 创建一个随机的字母字符串
*/
export const uuid = customAlphabet(letter);
/**
* 创建一个随机的 id包含字母和数字
*/
export const nanoid = customAlphabet(alphanumeric, 10);
/**
* 创建一个随机的 id包含字母、数字和短横线
*/
export const nanoidWithDash = customAlphabet(alphanumericWithDash, 10);
/**
@@ -20,6 +29,12 @@ export const randomId = (number: number) => {
return `${_letter}${nanoid(number)}`;
};
/**
* 创建一个随机的字母字符串
* @param number
* @param opts
* @returns
*/
export const randomLetter = (number: number = 8, opts?: { before?: string; after?: string }) => {
const { before = '', after = '' } = opts || {};
return `${before}${uuid(number)}${after}`;