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;
|
paused: boolean;
|
||||||
/** 是否关闭中 */
|
/** 是否关闭中 */
|
||||||
closing: boolean;
|
closing: boolean;
|
||||||
|
/** 自定义图标HTML */
|
||||||
|
iconHTML?: string;
|
||||||
|
/** Toast分组名称 */
|
||||||
|
group?: string | null;
|
||||||
|
|
||||||
/** 创建Toast */
|
/** 创建Toast */
|
||||||
create(): ToastInstance;
|
create(): ToastInstance;
|
||||||
@@ -444,7 +448,7 @@ export interface Plugin {
|
|||||||
[key: string]: any;
|
[key: string]: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 插件管理器接口
|
// 插件管理器接口(对齐实际 PluginManager 实现)
|
||||||
export interface PluginManager {
|
export interface PluginManager {
|
||||||
/** 注册插件 */
|
/** 注册插件 */
|
||||||
register(name: string, plugin: Plugin): PluginManager;
|
register(name: string, plugin: Plugin): PluginManager;
|
||||||
@@ -464,35 +468,11 @@ export interface PluginManager {
|
|||||||
getAll(): Plugin[];
|
getAll(): Plugin[];
|
||||||
/** 获取插件名称 */
|
/** 获取插件名称 */
|
||||||
getNames(): string[];
|
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;
|
destroy(): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 动画管理器接口
|
// 动画管理器接口(对齐实际 animationUtils 实现)
|
||||||
export interface AnimationManager {
|
export interface AnimationManager {
|
||||||
/** 注册动画 */
|
/** 注册动画 */
|
||||||
register(name: string, config: AnimationConfig): void;
|
register(name: string, config: AnimationConfig): void;
|
||||||
@@ -500,35 +480,15 @@ export interface AnimationManager {
|
|||||||
unregister(name: string): void;
|
unregister(name: string): void;
|
||||||
/** 获取动画配置 */
|
/** 获取动画配置 */
|
||||||
get(name: string): AnimationConfig | null;
|
get(name: string): AnimationConfig | null;
|
||||||
/** 应用动画 */
|
/** 获取所有动画名称 */
|
||||||
apply(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise<void>;
|
getAnimationNames(): string[];
|
||||||
/** 应用进入动画 */
|
/** 获取已注册动画数量 */
|
||||||
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;
|
getActiveCount(): number;
|
||||||
/** 获取所有活动动画 */
|
/** 兼容API(CSS动画由浏览器管理) */
|
||||||
getActiveAnimations(): Map<number, { element: HTMLElement; animation: Animation; config: AnimationConfig }>;
|
cancelAll(): void;
|
||||||
/** 检查元素是否有活动动画 */
|
/** 重置动画管理器 */
|
||||||
hasActiveAnimation(element: HTMLElement): boolean;
|
|
||||||
/** 获取动画配置 */
|
|
||||||
getConfig(): { animations: string[]; activeCount: number };
|
|
||||||
/** 重置 */
|
|
||||||
reset(): void;
|
reset(): void;
|
||||||
/** 销毁 */
|
/** 销毁动画管理器 */
|
||||||
destroy(): void;
|
destroy(): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -688,7 +648,9 @@ export interface MeToast {
|
|||||||
// 插件系统
|
// 插件系统
|
||||||
/** 安装插件 */
|
/** 安装插件 */
|
||||||
use(plugin: string | Plugin, options?: Record<string, any>): MeToast;
|
use(plugin: string | Plugin, options?: Record<string, any>): MeToast;
|
||||||
|
/** 获取 Toast 原生 Map */
|
||||||
|
getAll(): Map<string, ToastInstance>;
|
||||||
|
|
||||||
// 模块引用
|
// 模块引用
|
||||||
/** 动画模块 */
|
/** 动画模块 */
|
||||||
animations: AnimationUtils;
|
animations: AnimationUtils;
|
||||||
@@ -794,31 +756,9 @@ export interface StackOptions extends ToastOptions {
|
|||||||
stagger?: number;
|
stagger?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 动画工具接口
|
// 动画工具接口(对齐实际 animationUtils 实现)
|
||||||
export interface 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;
|
register(name: string, config: AnimationConfig): void;
|
||||||
/** 注销动画 */
|
/** 注销动画 */
|
||||||
unregister(name: string): void;
|
unregister(name: string): void;
|
||||||
@@ -826,11 +766,13 @@ export interface AnimationUtils {
|
|||||||
get(name: string): AnimationConfig | null;
|
get(name: string): AnimationConfig | null;
|
||||||
/** 获取所有动画名称 */
|
/** 获取所有动画名称 */
|
||||||
getAnimationNames(): string[];
|
getAnimationNames(): string[];
|
||||||
/** 获取动画配置 */
|
/** 获取已注册动画数量 */
|
||||||
getConfig(): { animations: string[]; activeCount: number };
|
getActiveCount(): number;
|
||||||
/** 重置 */
|
/** 兼容API(CSS动画由浏览器管理) */
|
||||||
|
cancelAll(): void;
|
||||||
|
/** 重置动画管理器 */
|
||||||
reset(): void;
|
reset(): void;
|
||||||
/** 销毁 */
|
/** 销毁动画管理器 */
|
||||||
destroy(): void;
|
destroy(): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1001,11 +943,23 @@ export interface PluginUtils {
|
|||||||
/** 创建插件管理器 */
|
/** 创建插件管理器 */
|
||||||
createManager(): PluginManager;
|
createManager(): PluginManager;
|
||||||
/** 注册插件 */
|
/** 注册插件 */
|
||||||
register(name: string, plugin: Plugin): void;
|
register(name: string, plugin: Plugin): PluginManager;
|
||||||
|
/** 注销插件 */
|
||||||
|
unregister(name: string): PluginManager;
|
||||||
/** 获取插件 */
|
/** 获取插件 */
|
||||||
get(name: string): Plugin | null;
|
get(name: string): Plugin | null;
|
||||||
|
/** 检查插件是否存在 */
|
||||||
|
has(name: string): boolean;
|
||||||
/** 获取所有插件 */
|
/** 获取所有插件 */
|
||||||
getAll(): Plugin[];
|
getAll(): Plugin[];
|
||||||
|
/** 获取插件名称 */
|
||||||
|
getNames(): string[];
|
||||||
|
/** 启用插件 */
|
||||||
|
enable(name: string): PluginManager;
|
||||||
|
/** 禁用插件 */
|
||||||
|
disable(name: string): PluginManager;
|
||||||
|
/** 检查插件是否启用 */
|
||||||
|
isEnabled(name: string): boolean;
|
||||||
/** 获取预设插件 */
|
/** 获取预设插件 */
|
||||||
getPreset(name: string): Plugin | null;
|
getPreset(name: string): Plugin | null;
|
||||||
/** 获取所有预设插件 */
|
/** 获取所有预设插件 */
|
||||||
|
|||||||
Reference in New Issue
Block a user