catalog-node: allow multiple providers to be passed to extension point

Co-authored-by: Fredrik Adelöw <freben@gmail.com>
Co-authored-by: Johan Haals <johan.haals@gmail.com>
Co-authored-by: blam <ben@blam.sh>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2022-08-15 13:50:45 +02:00
parent b6c8637fdc
commit f3bdd15ab3
3 changed files with 20 additions and 8 deletions
@@ -35,12 +35,16 @@ class CatalogExtensionPointImpl implements CatalogProcessingExtensionPoint {
#processors = new Array<CatalogProcessor>();
#entityProviders = new Array<EntityProvider>();
addProcessor(processor: CatalogProcessor): void {
this.#processors.push(processor);
addProcessor(
...processors: Array<CatalogProcessor | Array<CatalogProcessor>>
): void {
this.#processors.push(...processors.flat());
}
addEntityProvider(provider: EntityProvider): void {
this.#entityProviders.push(provider);
addEntityProvider(
...providers: Array<EntityProvider | Array<EntityProvider>>
): void {
this.#entityProviders.push(...providers.flat());
}
get processors() {
+6 -2
View File
@@ -13,9 +13,13 @@ import { JsonValue } from '@backstage/types';
// @alpha (undocumented)
export interface CatalogProcessingExtensionPoint {
// (undocumented)
addEntityProvider(provider: EntityProvider): void;
addEntityProvider(
...providers: Array<EntityProvider | Array<EntityProvider>>
): void;
// (undocumented)
addProcessor(processor: CatalogProcessor): void;
addProcessor(
...processors: Array<CatalogProcessor | Array<CatalogProcessor>>
): void;
}
// @alpha (undocumented)
+6 -2
View File
@@ -21,8 +21,12 @@ import { CatalogProcessor } from './api/processor';
* @alpha
*/
export interface CatalogProcessingExtensionPoint {
addProcessor(processor: CatalogProcessor): void;
addEntityProvider(provider: EntityProvider): void;
addProcessor(
...processors: Array<CatalogProcessor | Array<CatalogProcessor>>
): void;
addEntityProvider(
...providers: Array<EntityProvider | Array<EntityProvider>>
): void;
}
/**