Urara-Blog/node_modules/.pnpm-store/v3/files/71/25d5261af18ddf706d5f60711c2dbc9e52c021a7c144c90f5d27f6ce8bd1f9f184522d5e0235e83c31c061034038948dc13867ed7d7096e54fcb708b6ec3f3
2022-08-14 01:14:53 +08:00

50 lines
1.3 KiB
Text

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 };