25 lines
678 B
Plaintext
25 lines
678 B
Plaintext
'use strict';
|
|
|
|
const customisations_defaults = require('./defaults.cjs');
|
|
require('../icon/defaults.cjs');
|
|
|
|
function mergeCustomisations(defaults, item) {
|
|
const result = {
|
|
...defaults
|
|
};
|
|
for (const key in item) {
|
|
const value = item[key];
|
|
const valueType = typeof value;
|
|
if (key in customisations_defaults.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;
|
|
}
|
|
|
|
exports.mergeCustomisations = mergeCustomisations;
|