getLocation static method

Location getLocation(
  1. String textBefore,
  2. String textAfter
)

Implementation

static Location getLocation(String textBefore, String textAfter) {
  var beforeIsMongolian = false;
  var afterIsMongolian = false;

  var length = textBefore.length;
  if (length > 0 && isMongolian(textBefore.codeUnitAt(length - 1))) {
    beforeIsMongolian = true;
  }

  length = textAfter.length;

  for (var i = 0; i < length; i++) {
    final currentChar = textAfter.codeUnitAt(i);
    if (isFVS(currentChar) || currentChar == Unicode.MVS) {
      continue;
    } else if (isMongolian(currentChar)) {
      afterIsMongolian = true;
    }
    break;
  }

  if (beforeIsMongolian && afterIsMongolian) {
    return Location.MEDIAL;
  } else if (!beforeIsMongolian && afterIsMongolian) {
    return Location.INITIAL;
  } else if (beforeIsMongolian) {
    return Location.FINAL;
  } else {
    return Location.ISOLATE;
  }
}