const services = {}; function add(clsNames, modName) { const modClass = require('./' + modName); clsNames.forEach((clsName) => { services[clsName] = { 'clsName': clsName, 'modName': modName, 'class': modClass } }); } function init() { add(['Present'], 'present'); add(['EventCenter'], 'event_center'); add(['ExecConfirmOwner'], 'exec_confirm_owner'); add(['EventProcess'], 'event_process'); add(['BoxOpenedProcess'], 'boxopened_process'); add(['NftTransferProcess'], 'nft_transfer_process'); create('Present', null).init(); create('EventCenter', null).init(); } function create(name, session) { const module = services[name]; return new module['class'](session); } exports.init = init; exports.create = create;