src/src.js
async function resolveModule(moduleId, options, root=options.base) {
	if (options.lookup.has(moduleId)) return options.lookup.get(moduleId);
	const absolutePath = await options.resolver(moduleId, root);
	if (options.mapper.hasOwnProperty(absolutePath)) return options.mapper[absolutePath];
	if (options.lookup.has(absolutePath)) return options.lookup.get(absolutePath);
	return absolutePath;
}
async function resolveModule(moduleId, options, root=options.base) {
	if (options.lookup.has(moduleId)) return options.lookup.get(moduleId);
	const absolutePath = await options.resolver(moduleId, root);
	if (options.mapper.hasOwnProperty(absolutePath)) return options.mapper[absolutePath];
	if (options.lookup.has(absolutePath)) return options.lookup.get(absolutePath);
	return absolutePath;
}
Resolve the path for the given module-id.

@param {string} moduleId					Module to resolve for.
@param {Object} options					Options object.
@param {string} [root=options.base]		Base of path.
@returns {Promise.<string>}				The resolved path.