- Vue 3 + TypeScript + Element Plus 前端界面 - Pinia 状态管理 - Vue Router 4 路由管理 - Axios HTTP 客户端 - MSW (Mock Service Worker) 开发环境模拟 - 账户管理界面 (列表、详情、三科目余额展示) - 交易管理界面 (列表、详情) - 对账管理界面 (三账校验) - 完善的 API 客户端封装 - Docker 容器化配置 - Nginx 配置用于生产环境
19 lines
1.0 KiB
TypeScript
19 lines
1.0 KiB
TypeScript
import type { DevtoolsPluginApi } from './api/index.js';
|
|
import type { ExtractSettingsTypes, PluginDescriptor, PluginSettingsItem } from './plugin.js';
|
|
export * from './api/index.js';
|
|
export * from './plugin.js';
|
|
export * from './time.js';
|
|
export { PluginQueueItem } from './env.js';
|
|
type Cast<A, B> = A extends B ? A : B;
|
|
type Narrowable = string | number | bigint | boolean;
|
|
type Narrow<A> = Cast<A, [] | (A extends Narrowable ? A : never) | ({
|
|
[K in keyof A]: Narrow<A[K]>;
|
|
})>;
|
|
type Exact<C, T> = {
|
|
[K in keyof C]: K extends keyof T ? T[K] : never;
|
|
};
|
|
export type SetupFunction<TSettings = any> = (api: DevtoolsPluginApi<TSettings>) => void;
|
|
export declare function setupDevtoolsPlugin<TDescriptor extends Exact<TDescriptor, PluginDescriptor>, TSettings = ExtractSettingsTypes<TDescriptor extends {
|
|
settings: infer S;
|
|
} ? S extends Record<string, PluginSettingsItem> ? S : Record<string, PluginSettingsItem> : Record<string, PluginSettingsItem>>>(pluginDescriptor: Narrow<TDescriptor>, setupFn: SetupFunction<TSettings>): void;
|