@fajarkim/github-readme-profile
Version:
🙀 Generate dynamic GitHub stats cards in SVG format. Fast, customizable, and ready to embed in your profile README.
39 lines (35 loc) • 1.17 kB
text/typescript
/**
* Checks whether the provided value is a valid hexadecimal color.
*
* @param {string|string[]} hexColor - The input value to check for valid hexadecimal color.
* @returns {boolean} - True if the input is a valid hexadecimal color, false otherwise.
*/
function isValidHexColor(hexColor: string | string[]): boolean {
if (Array.isArray(hexColor)) return false;
const re = new RegExp("^([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$", "g");
return re.test(hexColor);
}
/**
* Checks whether the provided array of hexadecimal colors is a valid gradient.
*
* @param {string|string[]} hexColors - The array of hexadecimal colors to check for a valid gradient.
* @returns {boolean} - True if the array represents a valid gradient, false otherwise.
*/
function isValidGradient(hexColors: string | string[]): boolean {
let colors;
if (Array.isArray(hexColors)) {
colors = hexColors;
} else {
colors = hexColors.split(",");
}
for (let i = 1; i < colors.length; i++) {
if (!isValidHexColor(colors[i])) {
return false;
}
}
return true;
}
export {
isValidHexColor,
isValidGradient
}