function writeHTML(appName, solObj) { var contractName = solObj.name; var symtab = solObj.symTab; var funcs = Object.keys(symtab).filter(function(name) { return symtab[name]["jsType"] === "Function"; }); var templateString = makeTemplateString("html"); var inflatedHTML = Mustache.render(templateString, { appName: appName, contractName: contractName, serverURI: yamlConfig.readYaml('config.yaml').apiURL, funcs: funcs.map(function(funcName){ //mustache style. (should replace with one the better template engines) return { name: funcName, args: symtab[funcName].functionArgs.map(function(arg){ return {argName: arg}; }) }; }), }); console.log('writing html/' + contractName + '.html'); fs.writeFileSync('html/' + contractName + '.html', inflatedHTML); };
function writeJS(contractName, solObjWAddr) { var symtab = solObjWAddr.symTab; var funcs = Object.keys(symtab).filter(function(name){ return symtab[name]["jsType"] == "Function"; }); var templateString = makeTemplateString('js'); var keystoreStr = fs.readFileSync('key.json').toString(); var developerKeystore = lw.keystore.deserialize(keystoreStr); var inflatedJS = Mustache.render(templateString, { developerKeystore: JSON.stringify(developerKeystore), solObjWAddr: JSON.stringify(solObjWAddr), serverURI: yamlConfig.readYaml('config.yaml').apiURL, }); console.log('writing js/' + contractName + '.js'); fs.writeFileSync('js/' + contractName + '.js', inflatedJS); };