UNPKG

@ginden/blinkstick-v2

Version:
23 lines 870 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.colorInputToRgbTuple = colorInputToRgbTuple; const color_keywords_1 = require("../../consts/color-keywords"); const tsafe_1 = require("tsafe"); /** * Converts a color input (string, array, or object) to an RGB tuple. * @param color */ function colorInputToRgbTuple(color) { if (typeof color === 'string' && (0, tsafe_1.typeGuard)(color, color in color_keywords_1.COLOR_KEYWORDS)) { return color_keywords_1.COLOR_KEYWORD_RGB_TUPLES[color]; } if (Array.isArray(color)) { return [color[0] & 0xff, color[1] & 0xff, color[2] & 0xff]; } if (typeof color === 'object') { return [color.r & 0xff, color.g & 0xff, color.b & 0xff]; } throw new TypeError(`Invalid color format`); } //# sourceMappingURL=color-input-to-rgb-tuple.js.map