- Vue 3 + TypeScript + Element Plus 前端界面 - Pinia 状态管理 - Vue Router 4 路由管理 - Axios HTTP 客户端 - MSW (Mock Service Worker) 开发环境模拟 - 账户管理界面 (列表、详情、三科目余额展示) - 交易管理界面 (列表、详情) - 对账管理界面 (三账校验) - 完善的 API 客户端封装 - Docker 容器化配置 - Nginx 配置用于生产环境
25 lines
1.5 KiB
TypeScript
25 lines
1.5 KiB
TypeScript
import { EventMap, Listener } from 'strict-event-emitter';
|
|
import { i as Interceptor, E as ExtractEventNames } from './Interceptor-dc0a39b5.js';
|
|
|
|
interface BatchInterceptorOptions<InterceptorList extends ReadonlyArray<Interceptor<any>>> {
|
|
name: string;
|
|
interceptors: InterceptorList;
|
|
}
|
|
type ExtractEventMapType<InterceptorList extends ReadonlyArray<Interceptor<any>>> = InterceptorList extends ReadonlyArray<infer InterceptorType> ? InterceptorType extends Interceptor<infer EventMap> ? EventMap : never : never;
|
|
/**
|
|
* A batch interceptor that exposes a single interface
|
|
* to apply and operate with multiple interceptors at once.
|
|
*/
|
|
declare class BatchInterceptor<InterceptorList extends ReadonlyArray<Interceptor<any>>, Events extends EventMap = ExtractEventMapType<InterceptorList>> extends Interceptor<Events> {
|
|
static symbol: symbol;
|
|
private interceptors;
|
|
constructor(options: BatchInterceptorOptions<InterceptorList>);
|
|
protected setup(): void;
|
|
on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
once<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
off<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
removeAllListeners<EventName extends ExtractEventNames<Events>>(event?: EventName | undefined): this;
|
|
}
|
|
|
|
export { BatchInterceptorOptions as B, ExtractEventMapType as E, BatchInterceptor as a };
|