koishi-plugin-toram
Version:
20 lines (19 loc) • 1.54 kB
TypeScript
/** 从枚举对象中获取指定键对应的值。
* @param enumObj - 枚举对象,类型为泛型 T,T 必须是一个键为字符串,值为任意类型的对象。
* @param value - 要查找的键,类型为字符串。
* @returns 返回枚举对象中指定键对应的值,类型为 T 中任意键对应的值的类型。
* @throws 如果在枚举对象中未找到指定的键,则抛出一个错误。 */
export declare function getEnumValue<T extends Record<string, unknown>>(enumObj: T, value: string): T[keyof T];
/** 检查对象是否包含指定类原型上的所有方法。
* @template T - 类实例的类型
* @param obj - 要检查的对象
* @param Cls - 类的构造函数,用于获取其原型上的方法
* @returns 如果对象包含类原型上的所有方法,则返回 true,否则返回 false */
export declare function hasAllMethods<T extends object, C extends new (...args: any[]) => any>(obj: any, Cls: C): obj is T;
/** 将类的方法添加到目标对象上
* @template T - 目标对象的类型,必须是一个对象
* @template C - 类的构造函数类型,必须是一个可以接受任意参数的构造函数
* @param obj - 目标对象,将类的方法添加到这个对象上
* @param Cls - 类的构造函数,从这个类的原型上获取方法
* @returns 返回一个新对象,该对象是目标对象和类实例类型的交集 */
export declare function addClassMethods<T extends object, C extends new (...args: any[]) => any>(obj: T, Cls: C): T & InstanceType<C>;