prepareBeginningIndexes: function()

in packages/fuzzysort/fuzzysort.js [216:235]


  prepareBeginningIndexes: function (target) {
    var targetLen = target.length;
    var beginningIndexes = [];
    var beginningIndexesLen = 0;
    var wasUpper = false;
    var wasAlphanum = false;
    for (var i = 0; i < targetLen; ++i) {
      var targetCode = target.charCodeAt(i);
      var isUpper = targetCode >= 65 && targetCode <= 90;
      var isAlphanum =
        isUpper ||
        (targetCode >= 97 && targetCode <= 122) ||
        (targetCode >= 48 && targetCode <= 57);
      var isBeginning = (isUpper && !wasUpper) || !wasAlphanum || !isAlphanum;
      wasUpper = isUpper;
      wasAlphanum = isAlphanum;
      if (isBeginning) beginningIndexes[beginningIndexesLen++] = i;
    }
    return beginningIndexes;
  },