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, deno = false,
format = "html" format = "html"
) => { ) => {
console.log("in format imperial, format is", format, inch, numo, deno);
if (format === "html") { if (format === "html") {
if (numo) 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 return `<span>${neg}${inch}</span>`;
} else { } else {
if (numo) return `${neg}${inch}`; if (numo) return `${neg}${inch} ${numo}/${deno}`;
else 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); let fraction128 = Math.round(rest * 128);
if (fraction128 == 0) return formatImperial(negative, inches); if (fraction128 == 0) return formatImperial(negative, inches);
if (fraction128 % 64 == 0) if (fraction128 % 64 == 0)
return formatImperial(negative, inches, fraction128 / 64, 2); return formatImperial(negative, inches, fraction128 / 64, 2, format);
if (fraction128 % 32 == 0) if (fraction128 % 32 == 0)
return formatImperial(negative, inches, fraction128 / 32, 4); return formatImperial(negative, inches, fraction128 / 32, 4, format);
if (fraction128 % 16 == 0) if (fraction128 % 16 == 0)
return formatImperial(negative, inches, fraction128 / 16, 8); return formatImperial(negative, inches, fraction128 / 16, 8, format);
if (fraction128 % 8 == 0) if (fraction128 % 8 == 0)
return formatImperial(negative, inches, fraction128 / 8, 16); return formatImperial(negative, inches, fraction128 / 8, 16, format);
if (fraction128 % 4 == 0) if (fraction128 % 4 == 0)
return formatImperial(negative, inches, fraction128 / 4, 32); return formatImperial(negative, inches, fraction128 / 4, 32, format);
if (fraction128 % 2 == 0) if (fraction128 % 2 == 0)
return formatImperial(negative, inches, fraction128 / 2, 64); return formatImperial(negative, inches, fraction128 / 2, 64, format);
return negative + fraction; return negative + fraction;
} else { } else {
if (format === "html") return roundMm(val / 10) + "cm"; if (format === "html") return roundMm(val / 10) + "cm";

View file

@ -6,6 +6,14 @@ const measurementAsMm = (value, units = "metric") => {
if (isNaN(value)) return false; if (isNaN(value)) return false;
return value * 10; return value * 10;
} else { } 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(" "); let chunks = value.split(" ");
if (chunks.length === 1) { if (chunks.length === 1) {
let val = chunks[0]; let val = chunks[0];