toNode method

ElNode toNode()

Compiles this specification into an ElNode descriptor targeting the void <source> element.

If srcset is not supplied but src and widths are present, constructs the srcset attribute automatically using buildSrcSet.

Implementation

ElNode toNode() {
  String? effectiveSrcset = srcset;
  if (effectiveSrcset == null && src != null && widths != null && widths!.isNotEmpty) {
    effectiveSrcset = buildSrcSet(src!, widths!, urlBuilder: urlBuilder);
  } else if (effectiveSrcset == null && src != null) {
    effectiveSrcset = src;
  }

  final attrs = <String, String>{
    if (effectiveSrcset != null) 'srcset': effectiveSrcset,
    if (sizes != null) 'sizes': sizes!,
    if (media != null) 'media': media!,
    if (type != null) 'type': type!,
    if (width != null) 'width': '$width',
    if (height != null) 'height': '$height',
  };

  return El('source', attrs: attrs);
}