merge.mjs 623 B

12345678910111213141516171819202122
  1. import { defaultIconSizeCustomisations } from './defaults.mjs';
  2. import '../icon/defaults.mjs';
  3. function mergeCustomisations(defaults, item) {
  4. const result = {
  5. ...defaults
  6. };
  7. for (const key in item) {
  8. const value = item[key];
  9. const valueType = typeof value;
  10. if (key in defaultIconSizeCustomisations) {
  11. if (value === null || value && (valueType === "string" || valueType === "number")) {
  12. result[key] = value;
  13. }
  14. } else if (valueType === typeof result[key]) {
  15. result[key] = key === "rotate" ? value % 4 : value;
  16. }
  17. }
  18. return result;
  19. }
  20. export { mergeCustomisations };