Maksid doMatch function

by Osama Qassar

JavaScript

function doMatch($src, $elWithHarakat) {

  console.log('DO MATCH --- $src, $elWithHarakat', $src, $elWithHarakat)

  $matching = false;
  $harakatArr = ['َ', 'ً', 'ُ', 'ٌ', 'ِ', 'ٍ', 'ْ', 'ّ'];

  $src_Chars = $src.split('');

  $elWithHarakat_Chars = $elWithHarakat.split('');

  var $i = 0;
  for ($n = 0; $n < $elWithHarakat_Chars.length; $n++) {
    if ($i >= $src_Chars.length && !$harakatArr.includes($elWithHarakat_Chars)) {
      $matching = false;
      break;
    } else if ($i >= $src_Chars.length) {
      continue;
    }
    if ($harakatArr.includes($src_Chars[$i])) {
      if ($harakatArr.includes($elWithHarakat_Chars[$n])) {
        if ($elWithHarakat_Chars[$n] == $src_Chars[$i]) {
          $matching = true;
          $i++;
        } else {
          $matching = false;
          break;
        }
      } else {
        $i++;
        $n--;
      }
    } else {
      if ($harakatArr.includes($elWithHarakat_Chars[$n])) {
        $n++;
        if ($harakatArr.includes($elWithHarakat_Chars[$n])){ $n++ };
        if ($elWithHarakat_Chars[$n] == $src_Chars[$i]) {
          $matching = true;
          $i++;
        } else {
          $matching = false;
          break;
        }
      } else {
        if ($elWithHarakat_Chars[$n] == $src_Chars[$i]) {
          $matching = true;
          $i++;
        } else {
          $matching = false;
          break;
        }
      }
    }
  }
  console.log('$matching', $matching)
  return $matching;
}
var src = 'يَد';
var mtc = 'يَدُري';
doMatch(mtc, src)