resolveWithAlias = (alias, callback) => {
								if (alias === false) {
									/** @type {ResolveRequest} */
									const ignoreObj = {
										...request,
										path: false,
									};
									if (typeof resolveContext.yield === "function") {
										resolveContext.yield(ignoreObj);
										return callback(null, null);
									}
									return callback(null, ignoreObj);
								}

								let newRequestStr;

								const [prefix, suffix] = splitName;
								if (
									matchWildcard &&
									innerRequest.startsWith(prefix) &&
									innerRequest.endsWith(suffix)
								) {
									const match = innerRequest.slice(
										prefix.length,
										innerRequest.length - suffix.length,
									);
									newRequestStr = item.alias.toString().replace("*", match);
								}

								if (
									matchRequest &&
									innerRequest !== alias &&
									!innerRequest.startsWith(`${alias}/`)
								) {
									/** @type {string} */
									const remainingRequest = innerRequest.slice(item.name.length);
									newRequestStr = alias + remainingRequest;
								}

								if (newRequestStr !== undefined) {
									shouldStop = true;
									/** @type {ResolveRequest} */
									const obj = {
										...request,
										request: newRequestStr,
										fullySpecified: false,
									};
									return resolver.doResolve(
										target,
										obj,
										`aliased with mapping '${item.name}': '${alias}' to '${
											newRequestStr
										}'`,
										resolveContext,
										(err, result) => {
											if (err) return callback(err);
											if (result) return callback(null, result);
											return callback();
										},
									);
								}
								return callback();
							}
@param {Alias} alias alias
@param {(err?: null|Error, result?: null|ResolveRequest) => void} callback callback
@returns {void}