UNPKG

@omnia/tooling-composers

Version:

Provide tooling to work with manifest things.

38 lines (37 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceAppRegistry = void 0; const tslib_1 = require("tslib"); const index_1 = require("./models/index"); const ManifestRegistry_1 = require("./ManifestRegistry"); const deep_extend_1 = tslib_1.__importDefault(require("deep-extend")); const models_1 = require("../../fx-models"); class ServiceAppRegistry { } exports.ServiceAppRegistry = ServiceAppRegistry; ServiceAppRegistry.AddedAppDefinitions = {}; ServiceAppRegistry.AddAppDefinition = (appDefinitionId, option) => { if (appDefinitionId == models_1.Guid.empty) { throw new Error("Can't add app definition with id: Guid.empty. See manifest file: " + ManifestRegistry_1.ManifestRegistry.getCurrentManifestPath()); } if (ServiceAppRegistry.AddedAppDefinitions[appDefinitionId.toString()] != null) { throw new Error("Can't add app definition id " + appDefinitionId + ", an app definition with the same id has already been added. See manifest file: " + ManifestRegistry_1.ManifestRegistry.getCurrentManifestPath()); } let manifest = { manifestType: index_1.ServerManifestTypes.ServiceAppDefinition }; let appManifest = (0, deep_extend_1.default)(manifest, option); appManifest.uniqueId = appDefinitionId; ServiceAppRegistry.AddedAppDefinitions[appDefinitionId.toString()] = appManifest; }; ServiceAppRegistry.getServerManifests = (currentServiceId) => { let serverManifests = new Array(); for (let key in ServiceAppRegistry.AddedAppDefinitions) { serverManifests.push(ServiceAppRegistry.AddedAppDefinitions[key]); } return serverManifests; }; ServiceAppRegistry.clearState = () => { ServiceAppRegistry.AddedAppDefinitions = {}; }; ServiceAppRegistry.ServerSubscription = ManifestRegistry_1.ManifestRegistry.registerServerManifestProvider(new ManifestRegistry_1.StaticServerManifestProviderProxy(ServiceAppRegistry.getServerManifests, ServiceAppRegistry.clearState));