import { iconDefaults, matchName } from '../icon/index.mjs'; const optionalProperties = { provider: "string", aliases: "object", not_found: "object" }; for (const prop in iconDefaults) { optionalProperties[prop] = typeof iconDefaults[prop]; } function quicklyValidateIconSet(obj) { if (typeof obj !== "object" || obj === null) { return null; } const data = obj; if (typeof data.prefix !== "string" || !obj.icons || typeof obj.icons !== "object") { return null; } for (const prop in optionalProperties) { if (obj[prop] !== void 0 && typeof obj[prop] !== optionalProperties[prop]) { return null; } } const icons = data.icons; for (const name in icons) { const icon = icons[name]; if (!name.match(matchName) || typeof icon.body !== "string") { return null; } for (const prop in iconDefaults) { if (icon[prop] !== void 0 && typeof icon[prop] !== typeof iconDefaults[prop]) { return null; } } } const aliases = data.aliases; if (aliases) { for (const name in aliases) { const icon = aliases[name]; const parent = icon.parent; if (!name.match(matchName) || typeof parent !== "string" || !icons[parent] && !aliases[parent]) { return null; } for (const prop in iconDefaults) { if (icon[prop] !== void 0 && typeof icon[prop] !== typeof iconDefaults[prop]) { return null; } } } } return data; } export { quicklyValidateIconSet };