console.loggerName = 'js.equipmentMgr'; console.log('Load equipmentMgr'); const { equipment, lib, timer, watch } = require('../utils'); const eMgr = new Object(); for (let equipmentItem of items.getItems().filter(element => { return (element.semantics.isEquipment == true) && (element.semantics.equipment == null) })) { // Fetch equipment type let equipmentType = equipmentItem.tags.filter(element => Object.keys(equipment).includes(element)); if (equipmentType.length > 1) { equipmentType.splice(equipmentType.indexOf('Equipment'), 1); } // Initialize equipment class try { eMgr[equipmentItem.name] = new equipment[equipmentType](equipmentItem); } catch (error) { console.error(error); } } cache.shared.put('eMgr', eMgr); require('@runtime').lifecycleTracker.addDisposeHook(() => { console.log('Deinitialization of equipmentMgr'); for (let equipmentItemName of Object.keys(eMgr)) { eMgr[equipmentItemName].gc(); } });