static moduleHasSideEffects(moduleName, flagValue, cache) {
		switch (typeof flagValue) {
			case "undefined":
				return true;
			case "boolean":
				return flagValue;
			case "string":
				return globToRegexp(flagValue, cache).test(moduleName);
			case "object":
				return flagValue.some(glob =>
					SideEffectsFlagPlugin.moduleHasSideEffects(moduleName, glob, cache)
				);
		}
	}
@param {string} moduleName the module name
@param {undefined | boolean | string | string[]} flagValue the flag value
@param {Map<string, RegExp>} cache cache for glob to regexp
@returns {boolean | undefined} true, when the module has side effects, undefined or false when not