Expand extensionManager to index module definitions by namespace

This commit is contained in:
dannyrb 2020-05-07 14:04:33 -04:00 committed by James A. Petts
parent f172f26dee
commit e1690390d9

View File

@ -12,9 +12,11 @@ export default class ExtensionManager {
this._appConfig = appConfig;
this._api = api;
this.modulesMap = {};
this.moduleTypeNames.forEach(moduleType => {
this.modules[moduleType] = [];
});
this.dataSourceMap = {};
}
/**
@ -93,6 +95,10 @@ export default class ExtensionManager {
extensionId,
module: extensionModule,
});
extensionModule.forEach(element => {
this.modulesMap[`${extensionId}.${moduleType}.${name}`];
});
}
});
@ -100,6 +106,14 @@ export default class ExtensionManager {
this.registeredExtensionIds.push(extensionId);
}
getModuleEntry(stringEntry) {
return this.modulesMap[stringEntry];
}
getDataSource(dataSourceId) {
return this.dataSourceMap[dataSourceId];
}
/**
* @private
* @param {string} moduleType
@ -148,8 +162,12 @@ export default class ExtensionManager {
this._initCommandsModule(definitions, defaultContext);
break;
}
case: 'dataSourcesModule': {
case 'dataSourcesModule': {
break;
extensionModule.forEach(element => {
this.dataSourceMap[extensionModule.name] = element;
});
}
default:
// code block