diff --git a/src/extensions/registries/base-registry.ts b/src/extensions/registries/base-registry.ts index bb0ce0a902..f274aa7dd8 100644 --- a/src/extensions/registries/base-registry.ts +++ b/src/extensions/registries/base-registry.ts @@ -9,11 +9,12 @@ export class BaseRegistry { return this.items.toJS(); } - add(items: T[], ext?: LensExtension): () => void; // allow method overloading with required "ext" + add(items: T | T[], ext?: LensExtension): () => void; // allow method overloading with required "ext" @action - add(items: T[]) { - this.items.push(...items); - return () => this.remove(...items); + add(items: T | T[]) { + const itemArray: T[] = Array.isArray(items) ? items : [items]; + this.items.push(...itemArray); + return () => this.remove(...itemArray); } @action diff --git a/src/extensions/registries/page-registry.ts b/src/extensions/registries/page-registry.ts index 05906bb4fb..6b793ed233 100644 --- a/src/extensions/registries/page-registry.ts +++ b/src/extensions/registries/page-registry.ts @@ -62,9 +62,10 @@ export function getExtensionPageUrl

({ extensionId, pageId = "" export class PageRegistry extends BaseRegistry { @action - add(items: PageRegistration[], ext: LensExtension) { + add(items: PageRegistration | PageRegistration[], ext: LensExtension) { + const itemArray = Array.isArray(items) ? items : [items]; try { - const pages = items.map(page => ({ + const pages = itemArray.map(page => ({ ...page, extensionId: ext.name, routePath: getExtensionPageUrl({ extensionId: ext.name, pageId: page.id ?? page.routePath }),