parser function
dynamic
parser(
- String text,
- dynamic options
)
Implementation
dynamic parser(String text, options) {
List<Map> acc = [];
var tokens = text
.split(RegExp(r'/(\w+|\s|[[:punct:]])/i'))
.reduce((prevalue, currvalue) {
int start = acc.isNotEmpty ? acc[acc.length - 1]['end'] + 1 : 0;
int end = start + currvalue.length;
if (end == start) {
acc.add({
'start': start,
'end': end - 1,
'value': currvalue,
'lowerCaseValue': currvalue.toLowerCase(),
'type': getTokenType(currvalue)
});
}
return currvalue;
});
var regions = matchRegions(acc, options);
return regions;
}