matchPart = (str, test) => {
	if (!test) return true;
	if (Array.isArray(test)) {
		return test.some(test => matchPart(str, test));
	}
	if (typeof test === "string") {
		return str.startsWith(test);
	}
	return test.test(str);
}
Tests if a string matches a RegExp or an array of RegExp.
@param {string} str string to test
@param {Matcher} test value which will be used to match against the string
@returns {boolean} true, when the RegExp matches
@example
```js
ModuleFilenameHelpers.matchPart("foo.js", "foo"); // true
ModuleFilenameHelpers.matchPart("foo.js", "foo.js"); // true
ModuleFilenameHelpers.matchPart("foo.js", "foo."); // false
ModuleFilenameHelpers.matchPart("foo.js", "foo*"); // false
ModuleFilenameHelpers.matchPart("foo.js", "foo.*"); // true
ModuleFilenameHelpers.matchPart("foo.js", /^foo/); // true
ModuleFilenameHelpers.matchPart("foo.js", [/^foo/, "bar"]); // true
ModuleFilenameHelpers.matchPart("foo.js", [/^foo/, "bar"]); // true
ModuleFilenameHelpers.matchPart("foo.js", [/^foo/, /^bar/]); // true
ModuleFilenameHelpers.matchPart("foo.js", [/^baz/, /^bar/]); // false
```