1
0
Fork 0

🐛 Fixed some issues in utils package

This commit is contained in:
Joost De Cock 2019-06-16 16:19:22 +02:00
parent a8849095e7
commit 945f6ab347
3 changed files with 18 additions and 9 deletions

View file

@ -5,13 +5,14 @@ const formatImperial = (
deno = false,
format = "html"
) => {
console.log("in format imperial, format is", format, inch, numo, deno);
if (format === "html") {
if (numo)
return `<span>${neg}${inch}<sup>${numo}</sup>/<sub>${deno}</sub></span>`;
return `<span>${neg}${inch}&nbsp;<sup>${numo}</sup>/<sub>${deno}</sub></span>`;
else return `<span>${neg}${inch}</span>`;
} else {
if (numo) return `${neg}${inch}`;
else return `${neg}${inch} ${numo}/${deno}`;
if (numo) return `${neg}${inch} ${numo}/${deno}`;
else return `${neg}${inch}`;
}
};

View file

@ -21,17 +21,17 @@ const formatMm = (val, units, format = "html") => {
let fraction128 = Math.round(rest * 128);
if (fraction128 == 0) return formatImperial(negative, inches);
if (fraction128 % 64 == 0)
return formatImperial(negative, inches, fraction128 / 64, 2);
return formatImperial(negative, inches, fraction128 / 64, 2, format);
if (fraction128 % 32 == 0)
return formatImperial(negative, inches, fraction128 / 32, 4);
return formatImperial(negative, inches, fraction128 / 32, 4, format);
if (fraction128 % 16 == 0)
return formatImperial(negative, inches, fraction128 / 16, 8);
return formatImperial(negative, inches, fraction128 / 16, 8, format);
if (fraction128 % 8 == 0)
return formatImperial(negative, inches, fraction128 / 8, 16);
return formatImperial(negative, inches, fraction128 / 8, 16, format);
if (fraction128 % 4 == 0)
return formatImperial(negative, inches, fraction128 / 4, 32);
return formatImperial(negative, inches, fraction128 / 4, 32, format);
if (fraction128 % 2 == 0)
return formatImperial(negative, inches, fraction128 / 2, 64);
return formatImperial(negative, inches, fraction128 / 2, 64, format);
return negative + fraction;
} else {
if (format === "html") return roundMm(val / 10) + "cm";

View file

@ -6,6 +6,14 @@ const measurementAsMm = (value, units = "metric") => {
if (isNaN(value)) return false;
return value * 10;
} else {
const imperialFractionToMm = value => {
let chunks = value.trim().split("/");
if (chunks.length !== 2 || chunks[1] === "") return false;
let num = Number(chunks[0]);
let denom = Number(chunks[1]);
if (isNaN(num) || isNaN(denom)) return false;
else return (num * 25.4) / denom;
};
let chunks = value.split(" ");
if (chunks.length === 1) {
let val = chunks[0];