const2Pattern function

String const2Pattern(
  1. List<List<String>> constantRules
)

Implementation

String const2Pattern(List<List<String>> constantRules) {
  return constantRules.whereType<List<String>>().map((element) {
    var orparts = <String>[...element];
    var blankAllowed = false;
    orparts = (orparts
          ..removeWhere((element) {
            return element.isEmpty && (blankAllowed = true);
          }))
        .map((cstnt) => constantEscape(cstnt))
        .toList();
    if (orparts.isNotEmpty) {
      return '(' + orparts.join('|') + ')' + (blankAllowed ? '?' : '');
    } else {
      return '';
    }
  }).join();
}