mirror of
https://github.com/swc-project/swc.git
synced 2024-12-22 13:11:31 +03:00
41 lines
1015 B
TypeScript
41 lines
1015 B
TypeScript
// Loaded from https://deno.land/x/segno@v1.1.0/lib/validations/isRgbColor.ts
|
|
|
|
|
|
// @ts-ignore allowing typedoc to build
|
|
import { assertString } from '../helpers/assertString.ts';
|
|
|
|
/**
|
|
* @ignore
|
|
*/
|
|
const rgbColor = /^rgb\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\)$/;
|
|
|
|
/**
|
|
* @ignore
|
|
*/
|
|
const rgbaColor = /^rgba\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)$/;
|
|
|
|
/**
|
|
* @ignore
|
|
*/
|
|
const rgbColorPercent = /^rgb\((([0-9]%|[1-9][0-9]%|100%),){2}([0-9]%|[1-9][0-9]%|100%)\)/;
|
|
|
|
/**
|
|
* @ignore
|
|
*/
|
|
const rgbaColorPercent = /^rgba\((([0-9]%|[1-9][0-9]%|100%),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)/;
|
|
|
|
export const isRgbColor = (str: string, includePercentValues = true) => {
|
|
assertString(str);
|
|
|
|
if (!includePercentValues) {
|
|
return rgbColor.test(str) || rgbaColor.test(str);
|
|
}
|
|
|
|
return (
|
|
rgbColor.test(str) ||
|
|
rgbaColor.test(str) ||
|
|
rgbColorPercent.test(str) ||
|
|
rgbaColorPercent.test(str)
|
|
);
|
|
};
|