SvgElement.svg constructor

SvgElement.svg(
  1. String svg, {
  2. NodeValidator? validator,
  3. NodeTreeSanitizer? treeSanitizer,
})

Implementation

factory SvgElement.svg(String svg,
    {NodeValidator? validator, NodeTreeSanitizer? treeSanitizer}) {
  if (validator == null && treeSanitizer == null) {
    validator = new NodeValidatorBuilder.common()..allowSvg();
  }

  final match = _START_TAG_REGEXP.firstMatch(svg);
  Element parentElement;
  if (match != null && match.group(1)!.toLowerCase() == 'svg') {
    parentElement = document.body!;
  } else {
    parentElement = new SvgSvgElement();
  }
  var fragment = parentElement.createFragment(svg,
      validator: validator, treeSanitizer: treeSanitizer);
  return fragment.nodes.where((e) => e is SvgElement).single as SvgElement;
}