code: function _stringsMatch(stringToMatch, givenString) {
    /* eslint complexity:[2, 8] */
    stringToMatch = ('' + stringToMatch).toLowerCase();
  
    // too long
    if (givenString.length > stringToMatch.length) {
      return _matchRankMap.noMatch;
    }
  
    // equals
    if (stringToMatch === givenString) {
      return _matchRankMap.equals;
    }
  
    // starts with
    if (stringToMatch.indexOf(givenString) === 0) {
      return _matchRankMap.startsWith;
    }
  
    // word starts with
    if (stringToMatch.indexOf(' ' + givenString) !== -1) {
      return _matchRankMap.wordStartsWith;
    }
  
    // contains
    if (stringToMatch.indexOf(givenString) !== -1) {
      return _matchRankMap.contains;
    } else if (givenString.length === 1) {
      // If the only character in the given magic word
      //   isn't even contained in the magic word, then
      //   it's definitely not a match.
      return _matchRankMap.noMatch;
    }
  
    // acronym
    if (_isAcronym(stringToMatch, givenString)) {
      return _matchRankMap.acronym;
    }
  
    return _stringsByCharOrder(stringToMatch, givenString);
  }
docs: Gives a _matchRankMap score based on
  how well the two strings match.
  @param {string} stringToMatch - the string to rank against
  @param {string} givenString - the given string to rank
  @returns {number} - the rank
  @private