@yookue/ts-lang-utils
Version:
Common lang utilities for typescript
28 lines • 800 B
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
export function hslToHex(hsl) {
if (!hsl) {
return undefined;
}
var alias = null;
if (typeof hsl === 'string') {
var arr = /hsl\((\d+),\s*([\d.]+),\s*([\d.]+)\)/.exec(hsl);
if (!arr || arr.length !== 4) {
return undefined;
}
alias = arr.slice(1).map(Number);
} else {
alias = hsl;
}
var _alias = alias,
_alias2 = _slicedToArray(_alias, 3),
h = _alias2[0],
s = _alias2[1],
l = _alias2[2];
var a = s * Math.min(l, 1 - l);
var f = function f(n) {
var k = (n + h / 30) % 12;
var color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
return Math.round(255 * color).toString(16).padStart(2, '0');
};
return "#".concat(f(0)).concat(f(8)).concat(f(4));
}