JSFiddle - React, Tailwind, and code Playground
JavaScript
console.clear();
let result
, price = 234
, tax = price * 0.05;
function currency(strings, ...values) {
const regExp = /^:c(\((.+),(.+)\))?/;
let strings_set = [...strings],
values_set = [...values];
for (let key in values_set) {
let index = +key+1
, string = strings_set[index]
, match = regExp.exec(string);
if (match === null) continue;
const [ , , currency, locale] = match;
strings_set[index] = strings_set[index].replace(regExp, "");
values_set[key] = values_set[key].toLocaleString(locale, {style: 'currency', currency: currency });
}
return String.raw({raw: strings_set}, ...values_set);
}
let message = currency`Товар стоит ${price + tax}:c(UAH,uk-ua), Так то.`;
console.log(message);
message = currency`Товар стоит ${price + tax}:c(JPY,ja-JP), Так то.`;
console.log(message);