UNPKG

748 BJavaScriptView Raw
1import builder from 'xmlbuilder';
2
3let xmldec = {
4 version: '1.0',
5 standalone: true,
6 encoding: 'UTF-8'
7};
8
9function traverse(tags, root) {
10 for(var i in tags) {
11 let item = root.ele(tags[i]['#name'], tags[i]['$']);
12 if (tags[i].$$) traverse(tags[i].$$, item);
13 }
14}
15
16export default function(json) {
17 var root = builder.create('svg', xmldec, null, {
18 headless: true
19 });
20 Object.keys(json.svg.$).map(function(at) {
21 root.att(at, json.svg.$[at]);
22 });
23 // for (var i in json.svg.$) root.att(i, json.svg.$[i]);
24 traverse(json.svg.$$, root);
25 return root.end({
26 // weird
27 // Unterminated JSX contents
28 // keep this to true cuz I don't why the resultant
29 // JSX throws error while parsing -
30 pretty: true
31 });
32}