UNPKG

@daysnap/utils

Version:
53 lines (46 loc) 1.11 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _chunkFV6ZXO2Bcjs = require('./chunk-FV6ZXO2B.cjs'); // 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 (!_chunkFV6ZXO2Bcjs.isUndefined.call(void 0, 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); } }; } exports.trap = trap; exports.createTrapInstance = createTrapInstance;