/**
## mapp.utils.convert()
@module /utils/convert
*/
let promise, convert;
async function moduleImport() {
if (!promise)
promise = new Promise(async (resolve) => {
import('https://cdn.skypack.dev/convert@4').then((mod) =>
resolve((convert = mod.convert)),
);
});
await promise;
}
export default async (value, params) => {
await moduleImport();
value = parseFloat(value);
if (params.units && params.convertTo) {
value = convert(value, params.units).to(params.convertTo);
}
value = value.toFixed(params.decimals || 0);
value = value.toLocaleString(params.locale || 'en-GB');
return `${params.prefix || ''}${value}${params.suffix || ''}`;
};