in fusion-core/src/base-app.js [256:270]
function resolvePlugin(plugin) {
const registeredDeps = (plugin && plugin.deps) || {};
const resolvedDeps = {};
for (const key in registeredDeps) {
const registeredToken = registeredDeps[key];
resolvedDeps[key] = resolveToken(registeredToken, aliases);
}
// `provides` should be undefined if the plugin does not have a `provides` function
let provides =
plugin && plugin.provides ? plugin.provides(resolvedDeps) : undefined;
if (plugin && plugin.middleware) {
resolvedPlugins.push(plugin.middleware(resolvedDeps, provides));
}
return provides;
}