UNPKG

@omnia/tooling-composers

Version:

Provide tooling to work with manifest things.

38 lines (37 loc) 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceManifestRegistry = void 0; const index_1 = require("./models/index"); const ManifestRegistry_1 = require("./ManifestRegistry"); class ServiceManifestRegistry { } exports.ServiceManifestRegistry = ServiceManifestRegistry; ServiceManifestRegistry.Service = null; ServiceManifestRegistry.AddService = (service) => { if (!(service.serviceType === index_1.ServiceTypes.WebApp || service.serviceType === index_1.ServiceTypes.Worker || service.serviceType === index_1.ServiceTypes.Custom)) { throw new Error("Unknown service type: " + JSON.stringify(service)); } if (ServiceManifestRegistry.Service) { throw new Error("Can't add more than one service in a project, service: " + JSON.stringify(ServiceManifestRegistry.Service) + " already added."); } ServiceManifestRegistry.Service = service; }; ServiceManifestRegistry.getServiceInfo = () => { return ServiceManifestRegistry.Service; }; ServiceManifestRegistry.getServerManifests = (currentServiceId) => { let serverManifests = new Array(); if (ServiceManifestRegistry.Service != null) { let serviceManifest = Object.assign({ manifestType: index_1.ServerManifestTypes.Service }, ServiceManifestRegistry.Service); serverManifests.push(serviceManifest); } return serverManifests; }; ServiceManifestRegistry.clearState = () => { ServiceManifestRegistry.Service = null; }; ServiceManifestRegistry.ServerSubscription = ManifestRegistry_1.ManifestRegistry.registerServerManifestProvider(new ManifestRegistry_1.StaticServerManifestProviderProxy(ServiceManifestRegistry.getServerManifests, ServiceManifestRegistry.clearState));