parameterSegment property
Implementation
static final Parser<ParameterSegment> parameterSegment = chain([
parameterName,
match<bool>('?').value((r) => true).opt(),
regExp.opt(),
]).map((r) {
var match = r.value![0] as Match;
var r2 = r.value![2];
Match? rgxMatch;
if (r2 != 'NULL') {
rgxMatch = r2 as Match?;
}
var pre = match[1] ?? '';
var post = match[3] ?? '';
RegExp? rgx;
if (rgxMatch != null) {
rgx = RegExp('(${rgxMatch[1]})');
post = (rgxMatch[2] ?? '') + post;
}
if (pre.isNotEmpty || post.isNotEmpty) {
if (rgx != null) {
var pattern = pre + rgx.pattern + post;
rgx = RegExp(pattern);
} else {
rgx = RegExp('$pre$notSlashRgx$post');
}
}
// TODO: relook at this later
var m2 = match[2] ?? '';
var s = ParameterSegment(m2, rgx);
return r.value![1] == true ? OptionalSegment(s) : s;
});