UNPKG

xverse-components-utils

Version:

xverse components utils

64 lines (63 loc) 1.91 kB
import { IEnv } from '../device/env'; declare const ConfigKeyType: { /** * 水平触发,状态发生变更时,操作系统会持续地提示发生的事件信息,直到进程对该事件进行响应并将设备状态手动清除 */ readonly LevelTriggered: "LevelTriggered"; /** * 边缘触发,状态发生变化(例如从未激活到激活),操作系统只会通知进程一次。这意味着进程必须立即对事件进行处理,否则事件信息将会丢失 */ readonly EdgeTriggered: "EdgeTriggered"; }; type IConfigKeyType = (typeof ConfigKeyType)[keyof typeof ConfigKeyType]; export interface IConfigKeyMeta { /** * 属性名key * @type {string} */ key?: string; /** * 时间戳 * @type {string} */ timestamp: number; /** * 类型 水平触发/边缘触发 * @type {IConfigKeyType} */ type?: IConfigKeyType; /** * 版本号 */ version: number; } type IdEnv = Record<IEnv, string>; interface IMaximusOptions<T> { maximusId: string | IdEnv; /** * 配置拉取时间间隔,毫秒,默认 6 * 1000,填入 -1 只拉取一次 */ fetchInterval?: number; env?: IEnv; onChange?: (config: T, meta: IConfigKeyMeta[]) => void; } export declare function useMaximus<T>(options: IMaximusOptions<T>): void; interface IMaximusEdgeOptions<T> extends IMaximusOptions<T> { /** * Maximus 配置 key */ key: keyof T; /** * 一个广播信号的存在时间,单位毫秒,默认 1分钟 */ timeWindow?: number; /** * 当改 key 变化时回调 * @param key Maximus 配置 key * @param value Maximus 配置 value * @returns */ onTriggered: (key: keyof T, value: T[keyof T]) => any; } export declare function useEdgeTriggered<T>(options: IMaximusEdgeOptions<T>): void; export {};