UNPKG

opendash

Version:

open.DASH data visualization framework

37 lines 1.15 kB
var DISALLOED_HUE_RANGES = [ // [20, 210], // [240, 340] ]; var NUMBER_RANGE = 360 - DISALLOED_HUE_RANGES.reduce(function (previous, _a) { var start = _a[0], end = _a[1]; return previous + (end - start); }, 0); export function stringToColor(str) { var hash = stringToHash(str); var color = numberToColor(hash); return color; } function stringToHash(str) { var hash = 0; str = btoa(str); for (var i = 0; i < str.length; i++) { hash = str.charCodeAt(i) + ((hash << 5) - hash); } hash = hash * 9301 + 49297; return hash; } function numberToColor(hash) { hash = Math.abs(hash); var saturation = 70; var lightness = 40; var hue = DISALLOED_HUE_RANGES.reduce(function (acc, _a) { var start = _a[0], end = _a[1]; return (acc >= start ? acc + (end - start) : acc); }, hash % NUMBER_RANGE); var color = "hsl(" + hue + ", " + saturation + "%, " + lightness + "%)"; return color; } // test: // new Array(1000).fill(0).forEach((_, i) => console.info(numberToColor(i))); //# sourceMappingURL=stringToColor.js.map