| var obj={}; |
| function dotToJson(str,value,obj){ |
| //var objArr = path.split("."), part; |
| var objArr = str.split("."); |
| var prevStr; |
| var currObj; |
| var prevObj; |
| //console.log(str); |
| var isArray = false; |
| var prevObjIsArray = false; |
| for(var i=0;i<objArr.length -1;i++){ |
| var subStr= objArr[i] ; |
| if(isArray){ |
| prevObjIsArray = true; |
| } |
| isArray = false; |
| if(subStr.indexOf(']') == subStr.length -1){ |
| subStr = subStr.substring(0,subStr.length -2); |
| isArray = true; |
| } |
| //console.log("subStr:" + subStr + isArray); |
| //console.dir(prevObj); |
| if(isArray){ |
| if(i==0 && obj[subStr] == undefined ){ |
| //console.log("i==0 && obj[subStr] "); |
| obj[subStr]=[]; |
| }else if(i==0 && obj[subStr][0] == undefined ){ |
| obj[subStr][0]={}; |
| }else if(i==0 && obj[subStr][0] != undefined ){ |
| currObj= obj[subStr][0]; |
| }else{ |
| if(i == 1){ |
| //console.log("i==1 && obj[prevStr] "); |
| prevObj=obj[prevStr]; |
| if(prevObj[subStr] != undefined && prevObj[subStr][0] == undefined){ |
| prevObj[subStr] = []; |
| prevObj[subStr][0] = {}; |
| currObj = prevObj[subStr][0]; |
| }else if(prevObj[subStr] != undefined && prevObj[subStr][0] != undefined){ |
| currObj = prevObj[subStr][0]; |
| }else if(prevObj[subStr] == undefined){ |
| prevObj[subStr] = []; |
| prevObj[subStr][0] = {}; |
| currObj = prevObj[subStr][0]; |
| } |
| }else{ |
| if(prevObj[subStr] == undefined){ |
| prevObj[subStr]=[]; |
| prevObj[subStr][0]={}; |
| currObj = prevObj[subStr][0]; |
| }else{ |
| currObj = prevObj[subStr][0]; |
| } |
| } |
| } |
| }else{ |
| if(i==0 && obj[subStr] == undefined ){ |
| obj[subStr] = {}; |
| currObj= obj[subStr]; |
| }else if(i==0 && obj[subStr] != undefined ){ |
| currObj=obj[subStr]; |
| //console.log("in gkjgjkg"); |
| }else{ |
| if(i == 1){ |
| prevObj=obj[prevStr]; |
| if(prevObj[subStr] == undefined){ |
| prevObj[subStr] = {}; |
| currObj = prevObj[subStr]; |
| }else{ |
| currObj = prevObj[subStr]; |
| } |
| }else{ |
| if(prevObj[subStr] == undefined){ |
| prevObj[subStr] = {}; |
| currObj = prevObj[subStr]; |
| }else{ |
| currObj = prevObj[subStr]; |
| } |
| } |
| } |
| } |
| prevStr=subStr; |
| if(i <objArr.length-2){ |
| //console.dir(currObj); |
| prevObj=currObj; |
| } |
| } |
| var lastStr = objArr[objArr.length-1]; |
| if(isArray){ |
| currObj[lastStr] = value; |
| }else{ |
| currObj[lastStr] = value; |
| } |
| //prevObj[lastStr] = value; |
| //console.dir(currObj); |
| return obj; |
| } |
| function printObj(obj){ |
| for( j in obj){ |
| console.log(j + ":" + obj[j]); |
| if(typeof obj[j] == "object" ){ |
| printObj(obj[j]); |
| } |
| |
| } |
| } |
| |
| /* |
| var nObj={}; |
| for(var i=0;i<a.length;i++){ |
| dotToJson(a[i],'',nObj); |
| } |
| */ |
| var sliValuesObj = require(process.argv[2]); |
| var moduleName = process.argv[3]; |
| //console.dir(sliValuesObj); |
| var a= sliValuesObj[moduleName + "_VALUES"]; |
| var rpcs= sliValuesObj[moduleName + "_RPCS"]; |
| var nObj={}; |
| nObj['moduleName'] = moduleName; |
| console.log("module.exports = "); |
| for(var i=0;i<a.length;i++){ |
| var key =a[i].substring(0,a[i].indexOf(':')); |
| //console.log(key); |
| var value =a[i].substring(a[i].indexOf(':') +1); |
| if(value == undefined) value =""; |
| dotToJson(key,value,nObj); |
| } |
| |
| nObj[moduleName + "_PROPS"] =[]; |
| for(var i=0;i<a.length;i++){ |
| var key =a[i].substring(0,a[i].indexOf(':')); |
| nObj[moduleName + "_PROPS"].push(key); |
| } |
| |
| nObj[moduleName + "_RPCS"] = rpcs; |
| |
| console.log(JSON.stringify(nObj,null,4)); |