Liferay.Loader.define("portal-workflow-metrics-web@2.0.42/js/components/filter/util/velocityUnitUtil.es", ['module', 'exports', 'require', 'portal-workflow-metrics-web$moment'], function (module, exports, require) {
  var define = undefined;
  var global = window;
  {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.getVelocityUnits = void 0;

    var _moment = _interopRequireDefault(require("portal-workflow-metrics-web$moment"));

    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }

    function ownKeys(object, enumerableOnly) {
      var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {
        var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {
          return Object.getOwnPropertyDescriptor(object, sym).enumerable;
        });keys.push.apply(keys, symbols);
      }return keys;
    }

    function _objectSpread(target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {
          ownKeys(Object(source), true).forEach(function (key) {
            _defineProperty(target, key, source[key]);
          });
        } else if (Object.getOwnPropertyDescriptors) {
          Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
        } else {
          ownKeys(Object(source)).forEach(function (key) {
            Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
          });
        }
      }return target;
    }

    function _defineProperty(obj, key, value) {
      if (key in obj) {
        Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });
      } else {
        obj[key] = value;
      }return obj;
    }

    var asDefault = function asDefault(velocityUnit) {
      return _objectSpread({}, velocityUnit, {
        active: true,
        defaultVelocityUnit: true
      });
    };

    var daysUnit = {
      key: 'Days',
      name: Liferay.Language.get('inst-day')
    };
    var hoursUnit = {
      key: 'Hours',
      name: Liferay.Language.get('inst-hour')
    };
    var monthsUnit = {
      key: 'Months',
      name: Liferay.Language.get('inst-month')
    };
    var weeksUnit = {
      key: 'Weeks',
      name: Liferay.Language.get('inst-week')
    };
    var yearsUnit = {
      key: 'Years',
      name: Liferay.Language.get('inst-year')
    };
    var velocityUnitsMap = {
      1: [asDefault(hoursUnit)],
      7: [asDefault(daysUnit)],
      30: [asDefault(daysUnit), weeksUnit],
      90: [daysUnit, asDefault(weeksUnit), monthsUnit],
      180: [weeksUnit, asDefault(monthsUnit)],
      366: [weeksUnit, asDefault(monthsUnit)],
      730: [asDefault(monthsUnit), yearsUnit]
    };

    var getVelocityUnits = function getVelocityUnits(timeRange) {
      if (!timeRange.dateEnd || !timeRange.dateStart) {
        return [];
      }

      var dateEnd = _moment["default"].utc(timeRange.dateEnd);

      var dateStart = _moment["default"].utc(timeRange.dateStart);

      var daysDiff = dateEnd.diff(dateStart, 'days');

      if (daysDiff === 366 && (dateEnd.isLeapYear() || dateStart.isLeapYear())) {
        --daysDiff;
      }

      return Object.keys(velocityUnitsMap).filter(function (key) {
        return daysDiff < key;
      }).map(function (key) {
        return velocityUnitsMap[key];
      })[0] || [asDefault(yearsUnit)];
    };

    exports.getVelocityUnits = getVelocityUnits;
    //# sourceMappingURL=velocityUnitUtil.es.js.map
  }
});
//# sourceMappingURL=velocityUnitUtil.es.js.map