diff --git a/packages/catalog-model/report-alpha.api.md b/packages/catalog-model/report-alpha.api.md index 903f0770a6..c323e4be5c 100644 --- a/packages/catalog-model/report-alpha.api.md +++ b/packages/catalog-model/report-alpha.api.md @@ -16,7 +16,9 @@ export interface AlphaEntity extends Entity { // @alpha export type AsyncCatalogModelSourceGenerator = AsyncGenerator< { - layers: CatalogModelLayer[]; + data: Array<{ + layer: CatalogModelLayer; + }>; }, void, void diff --git a/packages/catalog-model/src/model/sources/StaticCatalogModelSource.ts b/packages/catalog-model/src/model/sources/StaticCatalogModelSource.ts index 0b20a130a4..b1f4186b20 100644 --- a/packages/catalog-model/src/model/sources/StaticCatalogModelSource.ts +++ b/packages/catalog-model/src/model/sources/StaticCatalogModelSource.ts @@ -37,6 +37,6 @@ export class StaticCatalogModelSource implements CatalogModelSource { async *read( _options?: CatalogModelSourceReadOptions, ): AsyncCatalogModelSourceGenerator { - yield { layers: this.#layers }; + yield { data: this.#layers.map(layer => ({ layer })) }; } } diff --git a/packages/catalog-model/src/model/sources/types.ts b/packages/catalog-model/src/model/sources/types.ts index c5cfbf33c2..6174a4c0e3 100644 --- a/packages/catalog-model/src/model/sources/types.ts +++ b/packages/catalog-model/src/model/sources/types.ts @@ -31,7 +31,7 @@ export interface CatalogModelSourceReadOptions { * @alpha */ export type AsyncCatalogModelSourceGenerator = AsyncGenerator< - { layers: CatalogModelLayer[] }, + { data: Array<{ layer: CatalogModelLayer }> }, void, void >; @@ -49,7 +49,7 @@ export type AsyncCatalogModelSourceGenerator = AsyncGenerator< * class MyCatalogModelSource implements CatalogModelSource { * async *read() { * yield { - * layers: [defaultCatalogEntityModel] + * data: [{ layer: defaultCatalogEntityModel }] * }; * } * } diff --git a/plugins/catalog-backend/src/model/ModelHolder.ts b/plugins/catalog-backend/src/model/ModelHolder.ts index 96b2de46dc..78dc788818 100644 --- a/plugins/catalog-backend/src/model/ModelHolder.ts +++ b/plugins/catalog-backend/src/model/ModelHolder.ts @@ -62,11 +62,11 @@ export class ModelHolder { try { const result = await iter.next(); readyCount += 1; - const ls = result.value?.layers ?? []; - for (const layer of ls) { - logger.info(`Loaded catalog model layer: ${layer.layerId}`); + const entries = result.value?.data ?? []; + for (const entry of entries) { + logger.info(`Loaded catalog model layer: ${entry.layer.layerId}`); } - return ls; + return entries.map(entry => entry.layer); } finally { await iter.return(undefined); }