isValidFontSize.js 609 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. const keywordSets = require('../reference/keywordSets');
  3. const valueParser = require('postcss-value-parser');
  4. /**
  5. * Check if a word is a font-size value.
  6. *
  7. * @param {string} word
  8. * @returns {boolean}
  9. */
  10. module.exports = function (word) {
  11. if (!word) {
  12. return false;
  13. }
  14. if (keywordSets.fontSizeKeywords.has(word)) {
  15. return true;
  16. }
  17. const numberUnit = valueParser.unit(word);
  18. if (!numberUnit) {
  19. return false;
  20. }
  21. const unit = numberUnit.unit;
  22. if (unit === '%') {
  23. return true;
  24. }
  25. if (keywordSets.lengthUnits.has(unit.toLowerCase())) {
  26. return true;
  27. }
  28. return false;
  29. };