@backstage/backend-app-api
Version:
Core API used by Backstage backend apps
30 lines (26 loc) • 1.02 kB
JavaScript
;
var backendPluginApi = require('@backstage/backend-plugin-api');
var BackstageBackend = require('./BackstageBackend.cjs.js');
function createSpecializedBackend(options) {
const exists = /* @__PURE__ */ new Set();
const duplicates = /* @__PURE__ */ new Set();
for (const { service } of options.defaultServiceFactories) {
if (exists.has(service.id)) {
duplicates.add(service.id);
} else {
exists.add(service.id);
}
}
if (duplicates.size > 0) {
const ids = Array.from(duplicates).join(", ");
throw new Error(`Duplicate service implementations provided for ${ids}`);
}
if (exists.has(backendPluginApi.coreServices.pluginMetadata.id)) {
throw new Error(
`The ${backendPluginApi.coreServices.pluginMetadata.id} service cannot be overridden`
);
}
return new BackstageBackend.BackstageBackend(options.defaultServiceFactories);
}
exports.createSpecializedBackend = createSpecializedBackend;
//# sourceMappingURL=createSpecializedBackend.cjs.js.map