36 lines
661 B
JavaScript
36 lines
661 B
JavaScript
|
var utils = require('../utils')
|
||
|
, nodes = require('../nodes')
|
||
|
, hsla = require('./hsla');
|
||
|
|
||
|
/**
|
||
|
* Convert the given `color` to an `HSLA` node,
|
||
|
* or h,s,l component values.
|
||
|
*
|
||
|
* Examples:
|
||
|
*
|
||
|
* hsl(10, 50, 30)
|
||
|
* // => HSLA
|
||
|
*
|
||
|
* hsl(#ffcc00)
|
||
|
* // => HSLA
|
||
|
*
|
||
|
* @param {Unit|HSLA|RGBA} hue
|
||
|
* @param {Unit} saturation
|
||
|
* @param {Unit} lightness
|
||
|
* @return {HSLA}
|
||
|
* @api public
|
||
|
*/
|
||
|
|
||
|
module.exports = function hsl(hue, saturation, lightness){
|
||
|
if (1 == arguments.length) {
|
||
|
utils.assertColor(hue, 'color');
|
||
|
return hue.hsla;
|
||
|
} else {
|
||
|
return hsla(
|
||
|
hue
|
||
|
, saturation
|
||
|
, lightness
|
||
|
, new nodes.Unit(1));
|
||
|
}
|
||
|
};
|