All files / lib/core/renderer constants.js

100% Statements 37/37
100% Branches 5/5
100% Functions 1/1
100% Lines 37/37

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 1817x 1813x 1817x
/**
 * A set of known HTML boolean attributes.
 * @type {Set<string>}
 */
 
export const BOOLEAN_ATTRIBUTES = new Set([
  'checked',
  'disabled',
  'required',
  'readonly',
  'selected',
  'multiple',
  'autofocus',
  'novalidate',
  'formnovalidate',
  'hidden',
  'open',
  'reversed',
  'loop',
  'controls',
  'autoplay',
  'muted',
  'default',
  'ismap',
  'async',
  'defer',
]);
 
/**
 * Checks if a given attribute name is a standard HTML boolean attribute.
 * @param {string} name - The attribute name.
 * @returns {boolean} True if it is a boolean attribute.
 */
export function isBooleanAttribute(name) {
  if (!name || typeof name !== 'string') return false;
  return BOOLEAN_ATTRIBUTES.has(name.toLowerCase());
}