fix(types): 补全和修正 TypeScript 类型声明
修复: - ToastInstance: 补充 iconHTML / group 属性 - MeToast: 补充 getAll() 方法 - AnimationUtils: 移除 12 个不存在的 phantom 方法 (apply/enter/leave/cancel/pauseAll等) - PluginManager: 移除 10 个不存在的 phantom 方法 (use/trigger/middleware等) - PluginUtils: 补充缺失的 unregister/has/getNames/enable/disable/isEnabled 方法
This commit is contained in:
Vendored
+38
-84
@@ -368,6 +368,10 @@ export interface ToastInstance {
|
||||
paused: boolean;
|
||||
/** 是否关闭中 */
|
||||
closing: boolean;
|
||||
/** 自定义图标HTML */
|
||||
iconHTML?: string;
|
||||
/** Toast分组名称 */
|
||||
group?: string | null;
|
||||
|
||||
/** 创建Toast */
|
||||
create(): ToastInstance;
|
||||
@@ -444,7 +448,7 @@ export interface Plugin {
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
// 插件管理器接口
|
||||
// 插件管理器接口(对齐实际 PluginManager 实现)
|
||||
export interface PluginManager {
|
||||
/** 注册插件 */
|
||||
register(name: string, plugin: Plugin): PluginManager;
|
||||
@@ -464,35 +468,11 @@ export interface PluginManager {
|
||||
getAll(): Plugin[];
|
||||
/** 获取插件名称 */
|
||||
getNames(): string[];
|
||||
/** 注册中间件 */
|
||||
use(middleware: Function): PluginManager;
|
||||
/** 移除中间件 */
|
||||
removeMiddleware(middleware: Function): PluginManager;
|
||||
/** 触发钩子 */
|
||||
trigger(hookName: string, context: any, ...args: any[]): Promise<any>;
|
||||
/** 触发同步钩子 */
|
||||
triggerSync(hookName: string, context: any, ...args: any): any;
|
||||
/** 执行中间件 */
|
||||
executeMiddleware(context: any, next: Function): Promise<any>;
|
||||
/** 获取所有钩子 */
|
||||
getHooks(): Map<string, Array<{ pluginName: string; handler: Function }>>;
|
||||
/** 检查钩子是否存在 */
|
||||
hasHook(hookName: string): boolean;
|
||||
/** 获取所有中间件 */
|
||||
getMiddleware(): Function[];
|
||||
/** 清除所有钩子 */
|
||||
clearHooks(): void;
|
||||
/** 清除所有中间件 */
|
||||
clearMiddleware(): void;
|
||||
/** 重置 */
|
||||
reset(): void;
|
||||
/** 初始化 */
|
||||
init(): void;
|
||||
/** 销毁 */
|
||||
/** 销毁所有插件 */
|
||||
destroy(): void;
|
||||
}
|
||||
|
||||
// 动画管理器接口
|
||||
// 动画管理器接口(对齐实际 animationUtils 实现)
|
||||
export interface AnimationManager {
|
||||
/** 注册动画 */
|
||||
register(name: string, config: AnimationConfig): void;
|
||||
@@ -500,35 +480,15 @@ export interface AnimationManager {
|
||||
unregister(name: string): void;
|
||||
/** 获取动画配置 */
|
||||
get(name: string): AnimationConfig | null;
|
||||
/** 应用动画 */
|
||||
apply(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise<void>;
|
||||
/** 应用进入动画 */
|
||||
enter(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise<void>;
|
||||
/** 应用离开动画 */
|
||||
leave(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise<void>;
|
||||
/** 取消所有动画 */
|
||||
cancelAll(): void;
|
||||
/** 取消元素动画 */
|
||||
cancel(element: HTMLElement): void;
|
||||
/** 暂停所有动画 */
|
||||
pauseAll(): void;
|
||||
/** 恢复所有动画 */
|
||||
resumeAll(): void;
|
||||
/** 暂停元素动画 */
|
||||
pause(element: HTMLElement): void;
|
||||
/** 恢复元素动画 */
|
||||
resume(element: HTMLElement): void;
|
||||
/** 获取活动动画数量 */
|
||||
/** 获取所有动画名称 */
|
||||
getAnimationNames(): string[];
|
||||
/** 获取已注册动画数量 */
|
||||
getActiveCount(): number;
|
||||
/** 获取所有活动动画 */
|
||||
getActiveAnimations(): Map<number, { element: HTMLElement; animation: Animation; config: AnimationConfig }>;
|
||||
/** 检查元素是否有活动动画 */
|
||||
hasActiveAnimation(element: HTMLElement): boolean;
|
||||
/** 获取动画配置 */
|
||||
getConfig(): { animations: string[]; activeCount: number };
|
||||
/** 重置 */
|
||||
/** 兼容API(CSS动画由浏览器管理) */
|
||||
cancelAll(): void;
|
||||
/** 重置动画管理器 */
|
||||
reset(): void;
|
||||
/** 销毁 */
|
||||
/** 销毁动画管理器 */
|
||||
destroy(): void;
|
||||
}
|
||||
|
||||
@@ -688,7 +648,9 @@ export interface MeToast {
|
||||
// 插件系统
|
||||
/** 安装插件 */
|
||||
use(plugin: string | Plugin, options?: Record<string, any>): MeToast;
|
||||
|
||||
/** 获取 Toast 原生 Map */
|
||||
getAll(): Map<string, ToastInstance>;
|
||||
|
||||
// 模块引用
|
||||
/** 动画模块 */
|
||||
animations: AnimationUtils;
|
||||
@@ -794,31 +756,9 @@ export interface StackOptions extends ToastOptions {
|
||||
stagger?: number;
|
||||
}
|
||||
|
||||
// 动画工具接口
|
||||
// 动画工具接口(对齐实际 animationUtils 实现)
|
||||
export interface AnimationUtils {
|
||||
/** 应用动画 */
|
||||
apply(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise<void>;
|
||||
/** 应用进入动画 */
|
||||
enter(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise<void>;
|
||||
/** 应用离开动画 */
|
||||
leave(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise<void>;
|
||||
/** 取消所有动画 */
|
||||
cancelAll(): void;
|
||||
/** 取消元素动画 */
|
||||
cancel(element: HTMLElement): void;
|
||||
/** 暂停所有动画 */
|
||||
pauseAll(): void;
|
||||
/** 恢复所有动画 */
|
||||
resumeAll(): void;
|
||||
/** 暂停元素动画 */
|
||||
pause(element: HTMLElement): void;
|
||||
/** 恢复元素动画 */
|
||||
resume(element: HTMLElement): void;
|
||||
/** 获取活动动画数量 */
|
||||
getActiveCount(): number;
|
||||
/** 检查元素是否有活动动画 */
|
||||
hasActiveAnimation(element: HTMLElement): boolean;
|
||||
/** 注册动画 */
|
||||
/** 注册自定义动画 */
|
||||
register(name: string, config: AnimationConfig): void;
|
||||
/** 注销动画 */
|
||||
unregister(name: string): void;
|
||||
@@ -826,11 +766,13 @@ export interface AnimationUtils {
|
||||
get(name: string): AnimationConfig | null;
|
||||
/** 获取所有动画名称 */
|
||||
getAnimationNames(): string[];
|
||||
/** 获取动画配置 */
|
||||
getConfig(): { animations: string[]; activeCount: number };
|
||||
/** 重置 */
|
||||
/** 获取已注册动画数量 */
|
||||
getActiveCount(): number;
|
||||
/** 兼容API(CSS动画由浏览器管理) */
|
||||
cancelAll(): void;
|
||||
/** 重置动画管理器 */
|
||||
reset(): void;
|
||||
/** 销毁 */
|
||||
/** 销毁动画管理器 */
|
||||
destroy(): void;
|
||||
}
|
||||
|
||||
@@ -1001,11 +943,23 @@ export interface PluginUtils {
|
||||
/** 创建插件管理器 */
|
||||
createManager(): PluginManager;
|
||||
/** 注册插件 */
|
||||
register(name: string, plugin: Plugin): void;
|
||||
register(name: string, plugin: Plugin): PluginManager;
|
||||
/** 注销插件 */
|
||||
unregister(name: string): PluginManager;
|
||||
/** 获取插件 */
|
||||
get(name: string): Plugin | null;
|
||||
/** 检查插件是否存在 */
|
||||
has(name: string): boolean;
|
||||
/** 获取所有插件 */
|
||||
getAll(): Plugin[];
|
||||
/** 获取插件名称 */
|
||||
getNames(): string[];
|
||||
/** 启用插件 */
|
||||
enable(name: string): PluginManager;
|
||||
/** 禁用插件 */
|
||||
disable(name: string): PluginManager;
|
||||
/** 检查插件是否启用 */
|
||||
isEnabled(name: string): boolean;
|
||||
/** 获取预设插件 */
|
||||
getPreset(name: string): Plugin | null;
|
||||
/** 获取所有预设插件 */
|
||||
|
||||
Reference in New Issue
Block a user