resolveAttributeDefaults static method

String? resolveAttributeDefaults(
  1. String attrName,
  2. String? attrVal, {
  3. required bool booleanDefault,
  4. required String? valueDefault,
})

Returns attrVal, or its default when null (see setResolvedAttribute): 'true' or null (off) for a boolean attribute, as booleanDefault; valueDefault for any other one. A null result is "no attribute". It only returns the value: nothing is set.

resolveAttributeDefaults('checked', null,
    booleanDefault: true, valueDefault: null);   // 'true'
resolveAttributeDefaults('checked', null,
    booleanDefault: false, valueDefault: null);  // null
resolveAttributeDefaults('title', null,
    booleanDefault: false, valueDefault: '-');   // '-'
resolveAttributeDefaults('title', 'x',
    booleanDefault: false, valueDefault: '-');   // 'x'

Implementation

static String? resolveAttributeDefaults(
  String attrName,
  String? attrVal, {
  required bool booleanDefault,
  required String? valueDefault,
}) {
  if (attrVal != null) return attrVal;
  if (DOMAttribute.isBooleanAttribute(attrName)) {
    return booleanDefault ? 'true' : null;
  }
  return valueDefault;
}