tree.cjs 715 B

12345678910111213141516171819202122232425
  1. 'use strict';
  2. function getIconsTree(data, names) {
  3. const icons = data.icons;
  4. const aliases = data.aliases || /* @__PURE__ */ Object.create(null);
  5. const resolved = /* @__PURE__ */ Object.create(null);
  6. function resolve(name) {
  7. if (icons[name]) {
  8. return resolved[name] = [];
  9. }
  10. if (!(name in resolved)) {
  11. resolved[name] = null;
  12. const parent = aliases[name] && aliases[name].parent;
  13. const value = parent && resolve(parent);
  14. if (value) {
  15. resolved[name] = [parent].concat(value);
  16. }
  17. }
  18. return resolved[name];
  19. }
  20. (names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);
  21. return resolved;
  22. }
  23. exports.getIconsTree = getIconsTree;