@backstage/backend-app-api
Version:
Core API used by Backstage backend apps
31 lines (27 loc) • 869 B
JavaScript
;
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