UNPKG

@daysnap/utils

Version:
53 lines (50 loc) 965 B
import { isUndefined } from "./chunk-3KRJNCKB.js"; // src/trap.ts var trap = { list: {}, // 触发 trigger(id, data = {}) { if (!id.startsWith("trap")) { throw new Error(`trap id \u547D\u540D\u5FC5\u987B\u6EE1\u8DB3: trap:[componentName]:[action]`); } this.list[id] = data; }, // 创建 create(id, cb) { if (!id.startsWith("trap")) { throw new Error(`trap id \u547D\u540D\u5FC5\u987B\u6EE1\u8DB3: trap:[componentName]:[action]`); } const data = this.list[id]; this.delete(id); if (!isUndefined(data)) { cb(data); } }, // 删除 delete(id) { delete this.list[id]; }, // 清除 clear() { this.list = {}; } }; function createTrapInstance(id) { return { trigger(data) { return trap.trigger(id, data); }, create(cb) { return trap.create(id, cb); }, delete() { return trap.delete(id); } }; } export { trap, createTrapInstance };