@jesobreira/babel-plugin-transform-currency-operators
Version:
https://github.com/scurker/babel-plugin-transform-currency-operators
111 lines (77 loc) • 2.98 kB
Markdown
> An experimental babel plugin for transforming [currency.js](https://github.com/scurker/currency.js) operators.
**In**
```javascript
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**
```javascript
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) { ... }
```
With [npm](https://www.npmjs.com/):
```sh
npm install --save-dev babel-plugin-transform-currency-operators
```
With [yarn](https://yarnpkg.com):
```sh
yarn install babel-plugin-transform-currency-operators --dev
```
**.babelrc**
```json
{
"plugins": ["transform-currency-operators"]
}
```
```sh
babel --plugins transform-currency-operators
```
```javascript
require("babel-core").transform("code", {
plugins: ["transform-currency-operators"]
});
```
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`
```javascript
import currency from 'currency.js';
export default function myCustomCurrencyDefaults(value) {
return currency(value, { symbol: '€', ...otherOptions });
}
```
```javascript
{
"plugins": ["transform-currency-operators", ['./path/to/custom/currency']]
}
```
[](/license)