krokus

1.1.0 • Public • Published

Krokus

Build Status Locales 703 Currencies 301

A provider for localization patterns and a number and currency formatter and parser.

In order to have the all currency and locale patterns in one place.

ISO 4217 is a standard to format currencies.

The data is generated from CLDR33.

Installation

npm install --save-dev krokus


Use the krokus formatter

import krokus from 'krokus';
 
const formatPattern = {
  pattern: '#,##0.00 ¤',
  decimal_sep: ',',
  group_sep: '.',
  symbol: '',
};
 
> krokus.formatCurrency(10000, formatPattern);
10.000,00 €

Use the krokus parser

import krokus from 'krokus';
 
const formatPattern = {
  pattern: '#,##0.00 ¤',
  decimal_sep: ',',
  group_sep: '.',
  symbol: '',
};
 
> krokus.parseCurrency('10.000,00 €', formatPattern);
10000

Access the generated currency and locale settings

import krokus from 'krokus';
 
> krokus.locales.de_DE
{ decimal_sep: ',',
  group_sep: '.',
  number_pattern: '#,##0.###',
  currency_pattern: '#,##0.00 ¤' }
 
> krokus.currencies.EUR
{ symbol: '', wideSymbol: '', code: 'EUR' }

Real-life example

Use the krokus calls in your functions:

import krokus from 'krokus';
 
export const formatNumber = (amount, locale) => {
  const format = krokus.locales[locale];
  format.pattern = format.number_pattern;
  return krokus.formatNumber(amount, format);
};
 
export const formatCurrency = (amount, locale, currency) => {
  if (!currency) {
    return formatNumber(amount, locale);
  }
 
  const localeData = krokus.locales[locale];
  const currencyData = krokus.currencies[currency.code];
 
  return krokus.formatCurrency(amount, {
    pattern: localeData.currency_pattern,
    decimal_sep: localeData.decimal_sep,
    group_sep: localeData.group_sep,
    symbol: currencyData.wideSymbol
  });
};

Run the tests if the formats are still generating the expected formatted numbers in JS

npm install

npm test

Generate the krokus number formatter from the es6 files

npm install

npm run compile

Create the up-to-date version of the json files

bundle install

rake update

Package Sidebar

Install

npm i krokus

Weekly Downloads

15

Version

1.1.0

License

MIT

Unpacked Size

85.3 kB

Total Files

4

Last publish

Collaborators

  • klyrr