text: 'use strict';
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
  
  var _parseToHsl = require('./parseToHsl');
  
  var _parseToHsl2 = _interopRequireDefault(_parseToHsl);
  
  var _toColorString = require('./toColorString');
  
  var _toColorString2 = _interopRequireDefault(_toColorString);
  
  var _guard = require('../internalHelpers/_guard');
  
  var _guard2 = _interopRequireDefault(_guard);
  
  var _curry = require('../internalHelpers/_curry');
  
  var _curry2 = _interopRequireDefault(_curry);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  /**
   * Increases the intensity of a color. Its range is between 0 to 1. The first
   * argument of the saturate function is the amount by how much the color
   * intensity should be increased.
   *
   * @example
   * // Styles as object usage
   * const styles = {
   *   background: saturate(0.2, '#CCCD64'),
   *   background: saturate(0.2, 'rgba(204,205,100,0.7)'),
   * }
   *
   * // styled-components usage
   * const div = styled.div`
   *   background: ${saturate(0.2, '#FFCD64')};
   *   background: ${saturate(0.2, 'rgba(204,205,100,0.7)')};
   * `
   *
   * // CSS in JS Output
   *
   * element {
   *   background: "#e0e250";
   *   background: "rgba(224,226,80,0.7)";
   * }
   */
  function saturate(amount, color) {
    var hslColor = (0, _parseToHsl2.default)(color);
    return (0, _toColorString2.default)(_extends({}, hslColor, {
      saturation: (0, _guard2.default)(0, 1, hslColor.saturation + amount)
    }));
  }
  
  var curriedSaturate = (0, _curry2.default)(saturate);
  exports.default = curriedSaturate;
  module.exports = exports['default'];