Urara-Blog/node_modules/.pnpm-store/v3/files/c5/ba5af3c90536cc55877b492986297e1e2c975d663896ed7f16f059fc36a10c721f9bb5b1dec15eec3d320d8cbdfd8f5099caf76d158535de8a06d22bf0440e
2022-08-14 01:14:53 +08:00

56 lines
1.7 KiB
Text

'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const icon_index = require('./index.cjs');
const stringToIcon = (value, validate, allowSimpleName, provider = "") => {
const colonSeparated = value.split(":");
if (value.slice(0, 1) === "@") {
if (colonSeparated.length < 2 || colonSeparated.length > 3) {
return null;
}
provider = colonSeparated.shift().slice(1);
}
if (colonSeparated.length > 3 || !colonSeparated.length) {
return null;
}
if (colonSeparated.length > 1) {
const name2 = colonSeparated.pop();
const prefix = colonSeparated.pop();
const result = {
provider: colonSeparated.length > 0 ? colonSeparated[0] : provider,
prefix,
name: name2
};
return validate && !validateIcon(result) ? null : result;
}
const name = colonSeparated[0];
const dashSeparated = name.split("-");
if (dashSeparated.length > 1) {
const result = {
provider,
prefix: dashSeparated.shift(),
name: dashSeparated.join("-")
};
return validate && !validateIcon(result) ? null : result;
}
if (allowSimpleName && provider === "") {
const result = {
provider,
prefix: "",
name
};
return validate && !validateIcon(result, allowSimpleName) ? null : result;
}
return null;
};
const validateIcon = (icon, allowSimpleName) => {
if (!icon) {
return false;
}
return !!((icon.provider === "" || icon.provider.match(icon_index.matchName)) && (allowSimpleName && icon.prefix === "" || icon.prefix.match(icon_index.matchName)) && icon.name.match(icon_index.matchName));
};
exports.stringToIcon = stringToIcon;
exports.validateIcon = validateIcon;