@omnia/tooling-composers
Version:
Provide tooling to work with manifest things.
29 lines (28 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceFeatureRegistry = void 0;
const ManifestRegistry_1 = require("./ManifestRegistry");
class ServiceFeatureRegistry {
static FeatureExisted(featureId) {
return ServiceFeatureRegistry.AddedFeatures[featureId.toString()] != null;
}
static AddFeatureManifest(featureManifest) {
ServiceFeatureRegistry.AddedFeatures[featureManifest.uniqueId.toString()] = featureManifest;
}
static GetFeatureManifest(featureId) {
return ServiceFeatureRegistry.AddedFeatures[featureId.toString()];
}
}
exports.ServiceFeatureRegistry = ServiceFeatureRegistry;
ServiceFeatureRegistry.AddedFeatures = {};
ServiceFeatureRegistry.getServerManifests = (currentServiceId) => {
let serverManifests = new Array();
for (let key in ServiceFeatureRegistry.AddedFeatures) {
serverManifests.push(ServiceFeatureRegistry.AddedFeatures[key]);
}
return serverManifests;
};
ServiceFeatureRegistry.clearState = () => {
ServiceFeatureRegistry.AddedFeatures = {};
};
ServiceFeatureRegistry.ServerSubscription = ManifestRegistry_1.ManifestRegistry.registerServerManifestProvider(new ManifestRegistry_1.StaticServerManifestProviderProxy(ServiceFeatureRegistry.getServerManifests, ServiceFeatureRegistry.clearState));