Currency Symbol placements for currency.js. Mappings use (ISO 4217) 3 letter currency codes and return the format pattern (!#
) used by currency.js where !
is the currency symbol and #
the amount.
This package is used by the Brixtol Textiles internal API when dealing with currency conversion and presentation locales pertaining to i18n logics and has been open sourced from our pnpm monorepo workspace.
We found the the vast majority of U.S commerce SaaS services were constantly getting currency symbol placements wrong. We use currency.js to convert currencies in our mithril.js applications and this package provides us with a wrapper for getting placements correct.
pnpm i @brixtol/currency-symbol-placements
npm install @brixtol/currency-symbol-placements
yarn add @brixtol/currency-symbol-placements
Pass in a currency code that is lowercase, uppercase or a mixture of both and the pattern replacement string is returned.
import currency from 'currency.js';
import { getPlacement } from '@brixtol/currency-symbols-placements';
// Currency code SEK (Swedish Krona) - Kr
const SEK = getPlacement('SEK'); // # !
// Currency code EUR (Euros) - €
const EUR = getPlacement('eur'); // !#
// Using with currency.js
currency('510.00', {
separator: '.',
decimal: ',',
fromCents: true,
pattern: SEK // returning "# !" > "510.00 kr"
}).format();
// ....
Static GeoIP utility
Locale related mappings helpers:
Country code to currency code mappings:
Contributions are welcome! Currency symbol placements are a real mixed bag and generally do not adhere to official specifications so-to-speak. If the mapping placements are not accurate, please submit a PR with some foundations.
Licensed under MIT
We ♡ open source!