@ginden/blinkstick-v2
Version:
Improved Blickstick API for Node.js
23 lines • 870 B
JavaScript
;
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