getSubRegionType function
Map
getSubRegionType(
- Map subRegion,
- Map currentToken
)
Implementation
Map getSubRegionType(Map subRegion, Map currentToken) {
if (subRegion.isEmpty) return {'type': currentToken['type']};
var prevToken = subRegion['tokens'][0];
bool isHundred = ((prevToken['type'] == TOKEN_TYPE['TEN'] &&
currentToken['type'] == TOKEN_TYPE['UNIT']) ||
(prevToken['type'] == TOKEN_TYPE['TEN'] &&
currentToken['type'] == TOKEN_TYPE['TEN']) ||
(prevToken['type'] == TOKEN_TYPE['UNIT'] &&
currentToken['type'] == TOKEN_TYPE['TEN'] &&
double.parse(NUMBER[prevToken['lowerCaseValue']].toString()) > 9) ||
(prevToken['type'] == TOKEN_TYPE['UNIT'] &&
currentToken['type'] == TOKEN_TYPE['UNIT']) ||
(prevToken['type'] == TOKEN_TYPE['TEN'] &&
currentToken['type'] == TOKEN_TYPE['UNIT'] &&
subRegion['type'] == TOKEN_TYPE['MAGNITUDE']));
if (subRegion['type'] == TOKEN_TYPE['MAGNITUDE']) {
return {'type': TOKEN_TYPE['MAGNITUDE'], 'isHundred': isHundred};
}
if (isHundred) return {'type': TOKEN_TYPE['HUNDRED'], 'isHundred': isHundred};
return {'type': currentToken['type'], 'isHundred': isHundred};
}