parser static method

Parser parser({
  1. RegExp? regex,
})

Implementation

static Parser parser({RegExp? regex}) {
  regex ??= _defaultRegex;

  Parser parse;

  parse = (List<Element> elements) {
    final list = <Element>[];

    for (var element in elements) {
      if (element is! TextElement) {
        list.add(element);
        continue;
      }

      element.text.splitMapJoin(
        regex!,
        onMatch: (match) {
          list.add(UrlElement(match[0]!));
          return "";
        },
        onNonMatch: (p0) {
          if (p0.isNotEmpty) {
            list.add(TextElement(p0));
          }
          return "";
        },
      );
    }

    return list;
  };

  return parse;
}