Update UnitConverter Regex
Some checks are pending
Sync to Codeberg / Sync Codeberg and Github (push) Waiting to run
Test / Test (push) Waiting to run
Release / Build Equicord (push) Waiting to run

This commit is contained in:
thororen1234 2025-03-24 13:34:19 -04:00
parent 519033dd90
commit e13ac1ef84
No known key found for this signature in database

View file

@ -31,12 +31,6 @@ const regexes: regexes = {
return `${c}°C`; return `${c}°C`;
}, },
}, },
// feetMark: {
// regex: /(\d+(?:\.\d+))(')(?!(\d+(?:\.\d+)?(''|")|'))/g,
// convert(...groups) {
// },
// },
// leaving this one in because it is commonly used for something like 5'9'' for a persons height
feetInchesMark: { feetInchesMark: {
regex: /(\d+)(') ?(\d+(?:\.\d+)?)("|'')?/g, regex: /(\d+)(') ?(\d+(?:\.\d+)?)("|'')?/g,
convert(...groups) { convert(...groups) {
@ -45,11 +39,6 @@ const regexes: regexes = {
return `${ftin.toFixed(2)}m`; return `${ftin.toFixed(2)}m`;
}, },
}, },
// inchesMark: {
// regex: /(?<!\d+')(\d+(?:\.\d+)?)("|'')/g,
// convert(...groups) {
// },
// },
feetWord: { feetWord: {
regex: /(\d+(?:\.\d+)?) *(f(ee)?t)(?! *\d)/ig, regex: /(\d+(?:\.\d+)?) *(f(ee)?t)(?! *\d)/ig,
convert(...groups) { convert(...groups) {
@ -106,7 +95,7 @@ const regexes: regexes = {
metric: { metric: {
// i dont think people ever write metric units as 1m3cm or something like that // i dont think people ever write metric units as 1m3cm or something like that
celcius: { celcius: {
regex: /(-?\d+(?:\.\d+)?) ?°?(c)(?!\w)/ig, regex: /(-?\d+(?:\.\d+)?)\s?°?c(?!\w)/ig,
convert(...groups) { convert(...groups) {
const f = ((parseFloat(groups[1]) * (9 / 5)) + 32).toFixed(2); const f = ((parseFloat(groups[1]) * (9 / 5)) + 32).toFixed(2);
return `${f}°F`; return `${f}°F`;
@ -114,7 +103,7 @@ const regexes: regexes = {
}, },
// convert to inches // convert to inches
centimeters: { centimeters: {
regex: /(\d+(?:\.\d+)?) *(cm)(?!\w)/ig, regex: /(\d+(?:\.\d+)?) ?(cm|centimeters?)(?!\w)/gi,
convert(...groups) { convert(...groups) {
const cm = (parseFloat(groups[1]) / 2.54).toFixed(2); const cm = (parseFloat(groups[1]) / 2.54).toFixed(2);
return `${cm}in`; return `${cm}in`;
@ -122,7 +111,7 @@ const regexes: regexes = {
}, },
// convert to feet // convert to feet
meters: { meters: {
regex: /(\d+(?:\.\d+)?) *(m)(?!\w)/ig, regex: /(\d+(?:\.\d+)?) ?(m|meters?)(?!\w)/gi,
convert(...groups) { convert(...groups) {
const m = parseFloat((parseFloat(groups[1]) * 3.821).toFixed(2)); const m = parseFloat((parseFloat(groups[1]) * 3.821).toFixed(2));
if (Number.isInteger(m)) if (Number.isInteger(m))
@ -132,7 +121,7 @@ const regexes: regexes = {
}, },
// covnert to miles // covnert to miles
kilometers: { kilometers: {
regex: /(\d+(?:\.\d+)?) *(km)(?!\w)/ig, regex: /(\d+(?:\.\d+)?) ?(km|kilometers?|kms?)(?!\w)/gi,
convert(...groups) { convert(...groups) {
const m = (parseFloat(groups[1]) / 1.609).toFixed(2); const m = (parseFloat(groups[1]) / 1.609).toFixed(2);
return `${m}mi`; return `${m}mi`;
@ -146,14 +135,14 @@ const regexes: regexes = {
}, },
}, },
kilograms: { kilograms: {
regex: /(\d+(?:\.\d+)?) ?(kg|kilos?)/gi, regex: /(\d+(?:\.\d+)?) ?(kg|kilo(?:gram)?s?)/gi,
convert(...groups) { convert(...groups) {
const kg = (parseFloat(groups[1]) * 2.205).toFixed(2); const kg = (parseFloat(groups[1]) * 2.205).toFixed(2);
return `${kg}lb(s)`; return `${kg}lb(s)`;
}, },
}, },
kilometersPerHour: { kilometersPerHour: {
regex: /(\d+(?:\.\d+)?) ?(km?p?\/?h)/gi, regex: /(\d+(?:\.\d+)?) ?(km\/h|kmph|kph|kilometers?\/?h)/gi,
convert(...groups) { convert(...groups) {
const kph = (parseFloat(groups[1]) / 1.609).toFixed(2); const kph = (parseFloat(groups[1]) / 1.609).toFixed(2);
return `${kph}mph`; return `${kph}mph`;