mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-03 01:59:31 +08:00
55 lines
1.4 KiB
Text
55 lines
1.4 KiB
Text
'use strict';
|
|
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
|
const icon_index = require('../icon/index.cjs');
|
|
const iconSet_getIcon = require('./get-icon.cjs');
|
|
require('../icon/merge.cjs');
|
|
|
|
function isVariation(item) {
|
|
for (const key in icon_index.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 = iconSet_getIcon.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 = iconSet_getIcon.getIconData(data, name, true);
|
|
if (iconData) {
|
|
callback(name, iconData);
|
|
names.push(name);
|
|
}
|
|
});
|
|
}
|
|
return names;
|
|
}
|
|
|
|
exports.isVariation = isVariation;
|
|
exports.parseIconSet = parseIconSet;
|