MCPcopy Index your code
hub / github.com/nodejs/node / #matchOne

Method #matchOne

deps/minimatch/index.js:1696–1729  ·  view source on GitHub ↗
(file, pattern, partial, fileIndex, patternIndex)

Source from the content-addressed store, hash-verified

1694 return partial || null;
1695 }
1696 #matchOne(file, pattern, partial, fileIndex, patternIndex) {
1697 let fi;
1698 let pi;
1699 let pl;
1700 let fl;
1701 for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
1702 this.debug("matchOne loop");
1703 let p = pattern[pi];
1704 let f = file[fi];
1705 this.debug(pattern, p, f);
1706 if (p === false || p === exports.GLOBSTAR) {
1707 return false;
1708 }
1709 let hit;
1710 if (typeof p === "string") {
1711 hit = f === p;
1712 this.debug("string match", p, f, hit);
1713 } else {
1714 hit = p.test(f);
1715 this.debug("pattern match", p, f, hit);
1716 }
1717 if (!hit)
1718 return false;
1719 }
1720 if (fi === fl && pi === pl) {
1721 return true;
1722 } else if (fi === fl) {
1723 return partial;
1724 } else if (pi === pl) {
1725 return fi === fl - 1 && file[fi] === "";
1726 } else {
1727 throw new Error("wtf?");
1728 }
1729 }
1730 braceExpand() {
1731 return (0, exports.braceExpand)(this.pattern, this.options);
1732 }

Callers 3

matchOneMethod · 0.80
#matchGlobstarMethod · 0.80

Calls 2

debugMethod · 0.80
testMethod · 0.45

Tested by

no test coverage detected