From 90fdcfb403342871f8a448274af7088dc41f40e7 Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Thu, 10 Aug 2023 23:58:44 +0200 Subject: [PATCH] backend-app-api: add methods accepts a backend feature factory Signed-off-by: Vincenzo Scamporlino --- packages/backend-app-api/src/wiring/BackstageBackend.ts | 4 ++-- packages/backend-app-api/src/wiring/types.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/backend-app-api/src/wiring/BackstageBackend.ts b/packages/backend-app-api/src/wiring/BackstageBackend.ts index c53f47b685..beeefc1b1b 100644 --- a/packages/backend-app-api/src/wiring/BackstageBackend.ts +++ b/packages/backend-app-api/src/wiring/BackstageBackend.ts @@ -28,8 +28,8 @@ export class BackstageBackend implements Backend { this.#initializer = new BackendInitializer(this.#services); } - add(feature: BackendFeature): void { - this.#initializer.add(feature); + add(feature: BackendFeature | (() => BackendFeature)): void { + this.#initializer.add(typeof feature === 'function' ? feature() : feature); } async start(): Promise { diff --git a/packages/backend-app-api/src/wiring/types.ts b/packages/backend-app-api/src/wiring/types.ts index e2cc299541..0a43caae59 100644 --- a/packages/backend-app-api/src/wiring/types.ts +++ b/packages/backend-app-api/src/wiring/types.ts @@ -26,7 +26,7 @@ import { * @public */ export interface Backend { - add(feature: BackendFeature): void; + add(feature: BackendFeature | (() => BackendFeature)): void; start(): Promise; stop(): Promise; }