MCPcopy Index your code
hub / github.com/nodejs/node / charactersFuzzyMatchInString

Function charactersFuzzyMatchInString

test/fixtures/snapshot/typescript.js:135495–135521  ·  view source on GitHub ↗

* True if the first character of `lowercaseCharacters` is the first character * of some "word" in `identiferString` (where the string is split into "words" * by camelCase and snake_case segments), then if the remaining characters of * `lowercaseCharacters` appear, in order

(identifierString, lowercaseCharacters)

Source from the content-addressed store, hash-verified

135493 * 'ment' in 'ENVIRONMENT_VARIABLE'
135494 */
135495 function charactersFuzzyMatchInString(identifierString, lowercaseCharacters) {
135496 if (lowercaseCharacters.length === 0) {
135497 return true;
135498 }
135499 var matchedFirstCharacter = false;
135500 var prevChar;
135501 var characterIndex = 0;
135502 var len = identifierString.length;
135503 for (var strIndex = 0; strIndex < len; strIndex++) {
135504 var strChar = identifierString.charCodeAt(strIndex);
135505 var testChar = lowercaseCharacters.charCodeAt(characterIndex);
135506 if (strChar === testChar || strChar === toUpperCharCode(testChar)) {
135507 matchedFirstCharacter || (matchedFirstCharacter = prevChar === undefined || // Beginning of word
135508 97 /* CharacterCodes.a */ <= prevChar && prevChar <= 122 /* CharacterCodes.z */ && 65 /* CharacterCodes.A */ <= strChar && strChar <= 90 /* CharacterCodes.Z */ || // camelCase transition
135509 prevChar === 95 /* CharacterCodes._ */ && strChar !== 95 /* CharacterCodes._ */); // snake_case transition
135510 if (matchedFirstCharacter) {
135511 characterIndex++;
135512 }
135513 if (characterIndex === lowercaseCharacters.length) {
135514 return true;
135515 }
135516 }
135517 prevChar = strChar;
135518 }
135519 // Did not find all characters
135520 return false;
135521 }
135522 function toUpperCharCode(charCode) {
135523 if (97 /* CharacterCodes.a */ <= charCode && charCode <= 122 /* CharacterCodes.z */) {
135524 return charCode - 32;

Callers 2

collectAutoImportsFunction · 0.85

Calls 1

toUpperCharCodeFunction · 0.85

Tested by

no test coverage detected