UNPKG

@onesy/utils

Version:
24 lines (23 loc) 1.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const is_1 = __importDefault(require("./is")); const isValid_1 = __importDefault(require("./isValid")); const castParam_1 = __importDefault(require("./castParam")); const clamp_1 = __importDefault(require("./clamp")); const rgbToRgba = (value, opacity = undefined, array = false) => { if ((0, isValid_1.default)('color-rgb', value)) { let values = value.replace(/rgb|a|\(|\s|\)/g, '').split(',').map((value_, index) => { if (index < 3) return Math.round((0, castParam_1.default)(value_)); return (0, castParam_1.default)(value_); }); const a = opacity !== undefined ? +(opacity > 1 ? (opacity / 100).toFixed(2) : (0, clamp_1.default)(opacity, 0, 1)) : values[3]; values = [...values.slice(0, 3).map(item => Math.round((0, castParam_1.default)(item))), (0, is_1.default)('number', a) && +a]; const [r, g, b] = values; return array ? values.filter(value_ => (0, is_1.default)('number', value_)) : `rgb${(0, is_1.default)('number', a) ? 'a' : ''}(${r}, ${g}, ${b}${(0, is_1.default)('number', a) ? `, ${a}` : ''})`; } }; exports.default = rgbToRgba;