2.0.0 • Published 4 years ago

babel-plugin-transform-currency-operators v2.0.0

Weekly downloads
39
License
MIT
Repository
github
Last release
4 years ago

babel-plugin-transform-currency-operators Build Status Coverage Status npm

An experimental babel plugin for transforming currency.js operators.

Example

In

import currency from 'currency.js';

var currency1 = currency(1.23);
var currency2 = currency1 + 4.56;
var currency3 = currency2 - 4.56;
var currency4 = currency3 * 2;
var currency5 = currency4 / 4;
var currency6 = currency1 + currency2;

var MultiDecimal = value => currency(value, { decimals: 3 });
var currency7 = MultiDecimal(1.234) + 5.678;

if(currency1 < currency2) { ... }
if(currency1 > currency2) { ... }
if(currency1 === 1.23) { ... }

Out

import currency from 'currency.js';

var currency1 = currency(1.23);
var currency2 = currency1.add(4.56);
var currency3 = currency2.subtract(4.56);
var currency4 = currency3.multiply(2);
var currency5 = currency4.divide(4);
var currency6 = currency1.add(currency2);

var MultiDecimal = value => currency(value, { decimals: 3 });
var currency7 = MultiDecimal(1.234).add(5.678);

if(currency1.value < currency2.value) { ... }
if(currency1.value > currency2.value) { ... }
if(currency1.value === 1.23) { ... }

Installation

With npm:

npm install --save-dev babel-plugin-transform-currency-operators

With yarn:

yarn install babel-plugin-transform-currency-operators --dev

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-currency-operators"]
}

Via CLI

babel --plugins transform-currency-operators

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-currency-operators"]
});

Advanced Usage

If you have a need to customize and export currency settings as a module, you can include the path to your currency (relative from the root of your project) in your .babelrc plugin configuration to transform those imported module's operator along with any currency.js imports:

File in your project: path/to/custom/currency.js

import currency from 'currency.js';

export default function myCustomCurrencyDefaults(value) {
  return currency(value, { symbol: '€', ...otherOptions });
}

.babelrc

{
  "plugins": ["transform-currency-operators", { customCurrency: './path/to/custom/currency' }]
}

License

MIT