2020-07-17 23:07:51 +02:00
|
|
|
import DEFAULT_ATTRS from './default-attrs.json';
|
|
|
|
|
import { parseDOM } from 'htmlparser2';
|
|
|
|
|
|
|
|
|
|
export default (iconsObject) => {
|
2020-07-18 01:14:30 +02:00
|
|
|
const iconNodes = {}
|
2020-07-17 23:07:51 +02:00
|
|
|
|
|
|
|
|
for(const icon in iconsObject) {
|
|
|
|
|
|
|
|
|
|
const svgString = iconsObject[icon];
|
|
|
|
|
const dom = parseDOM(svgString);
|
|
|
|
|
|
|
|
|
|
const children = [
|
|
|
|
|
...dom.map(element => ([
|
|
|
|
|
element.name,
|
|
|
|
|
{
|
|
|
|
|
...element.attribs,
|
|
|
|
|
}
|
|
|
|
|
])),
|
|
|
|
|
];
|
|
|
|
|
|
2020-07-18 01:14:30 +02:00
|
|
|
iconNodes[icon] = [
|
2020-07-17 23:07:51 +02:00
|
|
|
'svg',
|
|
|
|
|
{
|
|
|
|
|
...DEFAULT_ATTRS,
|
|
|
|
|
},
|
|
|
|
|
children
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-18 01:14:30 +02:00
|
|
|
return iconNodes;
|
2020-07-17 23:07:51 +02:00
|
|
|
}
|
|
|
|
|
|