merge.cjs 678 B

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