index.js 808 B

1234567891011121314151617181920212223242526272829
  1. const { DOM_TAGS, SVG_TAGS } = require('../constants');
  2. function isUpperCase(str) {
  3. return /^[A-Z_-]+$/.test(str);
  4. }
  5. function isNativeDOMTag(str) {
  6. return DOM_TAGS.includes(str);
  7. }
  8. function isSvgTag(str) {
  9. return SVG_TAGS.includes(str);
  10. }
  11. const blacklistAttrs = ['placeholder', 'alt', 'aria-label', 'value', 'title'];
  12. function isAllowedDOMAttr(tag, attr) {
  13. if (isSvgTag(tag)) return true;
  14. if (isNativeDOMTag(tag)) {
  15. return !blacklistAttrs.includes(attr);
  16. }
  17. return false;
  18. }
  19. exports.isUpperCase = isUpperCase;
  20. exports.isAllowedDOMAttr = isAllowedDOMAttr;
  21. exports.generateFullMatchRegExp = require('./generateFullMatchRegExp');
  22. exports.matchPatterns = require('./matchPatterns');
  23. exports.shouldSkip = require('./shouldSkip');
  24. exports.getNearestAncestor = require('./getNearestAncestor');