is-css-variable.mjs 733 B

123456789101112131415
  1. const checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
  2. const isCSSVariableName =
  3. /*@__PURE__*/ checkStringStartsWith("--");
  4. const startsAsVariableToken =
  5. /*@__PURE__*/ checkStringStartsWith("var(--");
  6. const isCSSVariableToken = (value) => {
  7. const startsWithToken = startsAsVariableToken(value);
  8. if (!startsWithToken)
  9. return false;
  10. // Ensure any comments are stripped from the value as this can harm performance of the regex.
  11. return singleCssVariableRegex.test(value.split("/*")[0].trim());
  12. };
  13. const singleCssVariableRegex = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;
  14. export { isCSSVariableName, isCSSVariableToken };