You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

18 lines
628 B

import { defaultIconSizeCustomisations } from "./defaults.js";
/**
* Convert IconifyIconCustomisations to FullIconCustomisations, checking value types
*/
function mergeCustomisations(defaults, item) {
const result = { ...defaults };
for (const key in item) {
const value = item[key];
const valueType = typeof value;
if (key in defaultIconSizeCustomisations) {
if (value === null || value && (valueType === "string" || valueType === "number")) result[key] = value;
} else if (valueType === typeof result[key]) result[key] = key === "rotate" ? value % 4 : value;
}
return result;
}
export { mergeCustomisations };