get-icon.mjs 821 B

12345678910111213141516171819202122232425262728
  1. import { mergeIconData } from '../icon/merge.mjs';
  2. import { getIconsTree } from './tree.mjs';
  3. import '../icon/defaults.mjs';
  4. import '../icon/transformations.mjs';
  5. function internalGetIconData(data, name, tree) {
  6. const icons = data.icons;
  7. const aliases = data.aliases || /* @__PURE__ */ Object.create(null);
  8. let currentProps = {};
  9. function parse(name2) {
  10. currentProps = mergeIconData(
  11. icons[name2] || aliases[name2],
  12. currentProps
  13. );
  14. }
  15. parse(name);
  16. tree.forEach(parse);
  17. return mergeIconData(data, currentProps);
  18. }
  19. function getIconData(data, name) {
  20. if (data.icons[name]) {
  21. return internalGetIconData(data, name, []);
  22. }
  23. const tree = getIconsTree(data, [name])[name];
  24. return tree ? internalGetIconData(data, name, tree) : null;
  25. }
  26. export { getIconData, internalGetIconData };