UNPKG

color-fns

Version:

Modern JavaScript color utility library.

51 lines 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var parseHsv_1 = require("./parseHsv"); var utils_1 = require("./utils"); function hsvToRgb(hsv) { var value = typeof hsv === 'string' ? parseHsv_1.parseHsv(hsv) : hsv; if (!value) { return null; } ; var _a = [value.hue / 360, value.sat / 100, value.val / 100, value.alpha], hue = _a[0], sat = _a[1], val = _a[2], alpha = _a[3]; var _b = [0, 0, 0], red = _b[0], green = _b[1], blue = _b[2]; if (sat === 0) { red = green = blue = utils_1.normalizeDecNum(val * 255); } if (sat !== 0) { var c_1 = val * sat; var x_1 = c_1 * (1 - Math.abs((hue * 6) % 2 - 1)); var m = val - c_1; var testHue = function (test) { if (test < 1 / 6) { return [c_1, x_1, 0]; } if (test < 1 / 3) { return [x_1, c_1, 0]; } if (test < 1 / 2) { return [0, c_1, x_1]; } if (test < 2 / 3) { return [0, x_1, c_1]; } if (test < 5 / 6) { return [x_1, 0, c_1]; } return [c_1, 0, x_1]; }; var _c = testHue(hue), r = _c[0], g = _c[1], b = _c[2]; red = utils_1.normalizeDecNum(255 * (r + m)); green = utils_1.normalizeDecNum(255 * (g + m)); blue = utils_1.normalizeDecNum(255 * (b + m)); } return { alpha: alpha, blue: blue, green: green, red: red }; } exports.hsvToRgb = hsvToRgb; //# sourceMappingURL=hsvToRgb.js.map