UNPKG

json2dom

Version:

A utility for generating DOM string from JSON

47 lines (32 loc) 815 B
module.exports = function json2DomString(json){ var arr = []; if(!Array.isArray(json)){ arr.push(json) }else{ arr = json; } var str = ""; for(var i=0;i<arr.length;i++){ var props = arr[i].properties || []; str += createTag(arr[i].tagname,false,arr[i].attributes,props); if(arr[i].children){ str += json2DomString(arr[i].children); } str += arr[i].value || ""; str += createTag(arr[i].tagname,true); } return str; } function createTag(tagname,closing,attributes,props){ if(closing){ return "</"+tagname+">"; } return "<"+tagname +" "+ addAttributes(attributes)+" "+props.join(" ")+" >"; } function addAttributes(attributes){ var str = ""; for(key in attributes){ str += key+"='"+attributes[key]+"' "; } return str; }