Urara-Blog/node_modules/.pnpm-store/v3/files/3b/f0d64a1e7f5737f214638c55c885dce9e60321d9fc6c860b6a559a62e599371cdf8ef6ff235decbb5676186790f14f0e5bbd0189d56f15e40a8a255eb2d3bc
2022-08-14 01:14:53 +08:00

33 lines
749 B
Text

function rotateFromString(value, defaultValue = 0) {
const units = value.replace(/^-?[0-9.]*/, "");
function cleanup(value2) {
while (value2 < 0) {
value2 += 4;
}
return value2 % 4;
}
if (units === "") {
const num = parseInt(value);
return isNaN(num) ? 0 : cleanup(num);
} else if (units !== value) {
let split = 0;
switch (units) {
case "%":
split = 25;
break;
case "deg":
split = 90;
}
if (split) {
let num = parseFloat(value.slice(0, value.length - units.length));
if (isNaN(num)) {
return 0;
}
num = num / split;
return num % 1 === 0 ? cleanup(num) : 0;
}
}
return defaultValue;
}
export { rotateFromString };