Files
lucide/scripts/render/renderIconNodes.js

30 lines
576 B
JavaScript
Raw Normal View History

2020-07-18 13:13:57 +02:00
/* eslint-disable import/no-extraneous-dependencies */
2020-07-17 23:07:51 +02:00
import { parseDOM } from 'htmlparser2';
2020-07-18 13:13:57 +02:00
import DEFAULT_ATTRS from './default-attrs.json';
2020-07-17 23:07:51 +02:00
2020-07-18 13:13:57 +02:00
export default iconsObject => {
const iconNodes = {};
2020-07-17 23:07:51 +02:00
2020-07-18 13:13:57 +02:00
Object.keys(iconsObject).forEach(icon => {
2020-07-17 23:07:51 +02:00
const svgString = iconsObject[icon];
const dom = parseDOM(svgString);
2020-08-14 23:20:19 +02:00
const children = dom.map(element => [
element.name,
{
...element.attribs,
},
]);
2020-07-17 23:07:51 +02:00
2020-07-18 01:14:30 +02:00
iconNodes[icon] = [
2020-07-17 23:07:51 +02:00
'svg',
{
...DEFAULT_ATTRS,
},
2020-07-18 13:13:57 +02:00
children,
];
});
2020-07-17 23:07:51 +02:00
2020-07-18 01:14:30 +02:00
return iconNodes;
2020-07-18 13:13:57 +02:00
};