canAddTokenToEndOfSubRegion function
bool
canAddTokenToEndOfSubRegion(
- dynamic subRegion,
- dynamic currentToken, {
- dynamic impliedHundreds,
Implementation
bool canAddTokenToEndOfSubRegion(subRegion, currentToken, {impliedHundreds}) {
final tokens = subRegion.tokens;
var prevToken = tokens[0];
if (!prevToken) return true;
if (prevToken['type'] == TOKEN_TYPE['MAGNITUDE'] &&
currentToken['type'] == TOKEN_TYPE['UNIT']) return true;
if (prevToken['type'] == TOKEN_TYPE['MAGNITUDE'] &&
currentToken['type'] == TOKEN_TYPE['TEN']) return true;
if (impliedHundreds &&
subRegion['type'] == TOKEN_TYPE['MAGNITUDE'] &&
prevToken['type'] == TOKEN_TYPE['TEN'] &&
currentToken['type'] == TOKEN_TYPE['UNIT']) return true;
if (impliedHundreds &&
subRegion['type'] == TOKEN_TYPE['MAGNITUDE'] &&
prevToken['type'] == TOKEN_TYPE['UNIT'] &&
currentToken['type'] == TOKEN_TYPE['TEN']) return true;
if (prevToken['type'] == TOKEN_TYPE['TEN'] &&
currentToken['type'] == TOKEN_TYPE['UNIT']) return true;
if (!impliedHundreds &&
prevToken['type'] == TOKEN_TYPE['TEN'] &&
currentToken['type'] == TOKEN_TYPE['UNIT']) return true;
if (prevToken['type'] == TOKEN_TYPE['MAGNITUDE'] &&
currentToken['type'] == TOKEN_TYPE['MAGNITUDE']) return true;
if (!impliedHundreds &&
prevToken['type'] == TOKEN_TYPE['TEN'] &&
currentToken['type'] == TOKEN_TYPE['TEN']) return false;
if (impliedHundreds &&
prevToken['type'] == TOKEN_TYPE['TEN'] &&
currentToken['type'] == TOKEN_TYPE['TEN']) return true;
return false;
}