mirror of
https://github.com/lucide-icons/lucide.git
synced 2025-12-17 09:07:43 +01:00
30 lines
576 B
JavaScript
30 lines
576 B
JavaScript
/* eslint-disable import/no-extraneous-dependencies */
|
|
import { parseDOM } from 'htmlparser2';
|
|
import DEFAULT_ATTRS from './default-attrs.json';
|
|
|
|
export default iconsObject => {
|
|
const iconNodes = {};
|
|
|
|
Object.keys(iconsObject).forEach(icon => {
|
|
const svgString = iconsObject[icon];
|
|
const dom = parseDOM(svgString);
|
|
|
|
const children = dom.map(element => [
|
|
element.name,
|
|
{
|
|
...element.attribs,
|
|
},
|
|
]);
|
|
|
|
iconNodes[icon] = [
|
|
'svg',
|
|
{
|
|
...DEFAULT_ATTRS,
|
|
},
|
|
children,
|
|
];
|
|
});
|
|
|
|
return iconNodes;
|
|
};
|