var fs = require('fs'); var iconv = require('iconv-lite'); var metaClasses = []; const MT_WEB3SERVEWR = 0; const MT_CONTRACT = 1; function registerMetaClass(fileName, idx, primKey) { metaClasses.push({ 'fileName' : fileName, 'idx' : idx, 'primKey' : primKey, 'rawList' : [], 'nameHash' : {}, 'idHash' : {}, }); } function load() { metaClasses.forEach(function (meta) { let jsondata = fs.readFileSync(meta['fileName'], "utf8"); let data = JSON.parse(jsondata); }); } function init() { registerMetaClass('web3server.json', MT_WEB3SERVEWR, '' ); registerMetaClass('contract.json', MT_CONTRACT, 'name', ); load(); } function unInit() { } function getMetaClass(metaIdx) { return metaIdx >= 0 && metaIdx < metaClasses.length ? metaClasses[metaIdx] : null; } function getMetaByName(metaIdx, name) { let metaClass = getMetaClass[metaIdx]; return metaClass && name in metaClass['nameHash'] ? metaClass['nameHash'][name] : null; } function getMetaById(metaIdx, id) { let metaClass = getMetaClass[metaIdx]; return metaClass && id in metaClass['idHash'] ? metaClass['idHash'][id] : null; } function getMetaList(metaIdx) { let metaClass = getMetaClass[metaIdx]; return metaClass ? metaClass['rawList'] : null; } exports.init = init; exports.unInit = unInit; exports.getMetaByName = getMetaByName; exports.getMetaById = getMetaById; exports.getMetaList = getMetaList;