'use strict';

var defineProperty = require('../defineProperty-COGyJ6Og.js');
var pureDayjs = require('dayjs');
require('../toPropertyKey-DW-YC76_.js');
require('../typeof-D4ZZ_FlZ.js');

function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var getAmountWithSymbol = function getAmountWithSymbol(amount, options) {
  var formatter = new Intl.NumberFormat(pureDayjs.locale(), _objectSpread({}, options));
  return formatter.format(Number(amount));
};
var currencyFormat = {
  withAmount: function withAmount(amount) {
    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
      minimumFractionDigits: 2
    };
    return getAmountWithSymbol(amount, _objectSpread({
      style: undefined
    }, options));
  },
  // 1000, { maximumFractionDigits: 1 } => 1,000.0
  withSymbol: function withSymbol(amount, currency, options) {
    return getAmountWithSymbol(amount, _objectSpread(_objectSpread({}, options), {}, {
      style: "currency",
      currency: currency
    }));
  },
  // 1000, "INR", { maximumFractionDigits: 0 } => ₹1,000
  withCode: function withCode(amount, currency) {
    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
      minimumFractionDigits: 2
    };
    return "".concat(getAmountWithSymbol(amount, _objectSpread(_objectSpread({}, options), {}, {
      style: undefined
    })), " ").concat(currency);
  },
  // 1000, "USD" => 1,000.00 USD
  withSymbolAndCode: function withSymbolAndCode(amount, currency, options) {
    return "".concat(getAmountWithSymbol(amount, _objectSpread(_objectSpread({}, options), {}, {
      style: "currency",
      currency: currency
    })), " ").concat(currency);
  } // 1000, "INR", { maximumFractionDigits: 0 } => ₹1,000 INR
};

exports.currencyFormat = currencyFormat;
//# sourceMappingURL=currencyFormat.js.map
