Urara-Blog/node_modules/.pnpm-store/v3/files/e3/28340d8aea5a00835417353dc90a9b0f8799ef6ad339366c26fb4c7cb80fb32de5195658704a6e192a4ca45f76bd920ee6f704fc3362754acbd9aaf40c45c1
2022-08-14 01:14:53 +08:00

56 lines
1.3 KiB
Text

const defaults = Object.freeze({
inline: false,
width: null,
height: null,
hAlign: "center",
vAlign: "middle",
slice: false,
hFlip: false,
vFlip: false,
rotate: 0
});
function mergeCustomisations(defaults2, item) {
const result = {};
for (const key in defaults2) {
const attr = key;
result[attr] = defaults2[attr];
if (item[attr] === void 0) {
continue;
}
const value = item[attr];
switch (attr) {
case "inline":
case "slice":
if (typeof value === "boolean") {
result[attr] = value;
}
break;
case "hFlip":
case "vFlip":
if (value === true) {
result[attr] = !result[attr];
}
break;
case "hAlign":
case "vAlign":
if (typeof value === "string" && value !== "") {
result[attr] = value;
}
break;
case "width":
case "height":
if (typeof value === "string" && value !== "" || typeof value === "number" && value || value === null) {
result[attr] = value;
}
break;
case "rotate":
if (typeof value === "number") {
result[attr] += value;
}
break;
}
}
return result;
}
export { defaults, mergeCustomisations };