Skip to content

Instantly share code, notes, and snippets.

@andruu
Created December 2, 2021 22:06
Show Gist options
  • Save andruu/51de620f5ad58ba15b37fce45ad12d10 to your computer and use it in GitHub Desktop.
Save andruu/51de620f5ad58ba15b37fce45ad12d10 to your computer and use it in GitHub Desktop.
import { getAmountAndScale } from '../utils';
import { transformScale } from './transformScale';
export function multiply(calculator) {
var convertScaleFn = transformScale(calculator);
var zero = calculator.zero();
return function multiplyFn() {
for (var _len = arguments.length, _ref = new Array(_len), _key = 0; _key < _len; _key++) {
_ref[_key] = arguments[_key];
}
var multiplicand = _ref[0],
multiplier = _ref[1];
var _multiplicand$toJSON = multiplicand.toJSON(),
amount = _multiplicand$toJSON.amount,
currency = _multiplicand$toJSON.currency,
scale = _multiplicand$toJSON.scale;
var _getAmountAndScale = getAmountAndScale(multiplier, zero),
multiplierAmount = _getAmountAndScale.amount,
multiplierScale = _getAmountAndScale.scale;
var newScale = calculator.add(scale, multiplierScale);
return convertScaleFn(multiplicand.create({
amount: calculator.multiply(amount, multiplierAmount),
currency: currency,
scale: newScale
}), newScale);
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment