import { iconDefaults } from '../icon/index.mjs'; import { getIconData } from './get-icon.mjs'; import '../icon/merge.mjs'; function isVariation(item) { for (const key in iconDefaults) { if (item[key] !== void 0) { return true; } } return false; } function parseIconSet(data, callback, options) { options = options || {}; const names = []; if (typeof data !== "object" || typeof data.icons !== "object") { return names; } if (data.not_found instanceof Array) { data.not_found.forEach((name) => { callback(name, null); names.push(name); }); } const icons = data.icons; Object.keys(icons).forEach((name) => { const iconData = getIconData(data, name, true); if (iconData) { callback(name, iconData); names.push(name); } }); const parseAliases = options.aliases || "all"; if (parseAliases !== "none" && typeof data.aliases === "object") { const aliases = data.aliases; Object.keys(aliases).forEach((name) => { if (parseAliases === "variations" && isVariation(aliases[name])) { return; } const iconData = getIconData(data, name, true); if (iconData) { callback(name, iconData); names.push(name); } }); } return names; } export { isVariation, parseIconSet };