UNPKG

@backstage/backend-app-api

Version:

Core API used by Backstage backend apps

31 lines (27 loc) 869 B
'use strict'; var BackendInitializer = require('./BackendInitializer.cjs.js'); var helpers = require('./helpers.cjs.js'); class BackstageBackend { #initializer; constructor(defaultServiceFactories) { this.#initializer = new BackendInitializer.BackendInitializer(defaultServiceFactories); } add(feature) { if (isPromise(feature)) { this.#initializer.add(feature.then((f) => helpers.unwrapFeature(f.default))); } else { this.#initializer.add(helpers.unwrapFeature(feature)); } } async start() { await this.#initializer.start(); } async stop() { await this.#initializer.stop(); } } function isPromise(value) { return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function"; } exports.BackstageBackend = BackstageBackend; //# sourceMappingURL=BackstageBackend.cjs.js.map