15815213711
2024-08-26 67b8b6731811983447e053d4396b3708c14dfe3c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
define(["require", "exports", "./lookup"], function (require, exports, lookup_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.ModuleActivationStore = void 0;
    var ModuleActivationStore = (function () {
        function ModuleActivationStore() {
            this._map = new Map();
        }
        ModuleActivationStore.prototype.remove = function (moduleId) {
            if (this._map.has(moduleId)) {
                var handlers = this._map.get(moduleId);
                this._map.delete(moduleId);
                return handlers;
            }
            return this._getEmptyHandlersStore();
        };
        ModuleActivationStore.prototype.addDeactivation = function (moduleId, serviceIdentifier, onDeactivation) {
            this._getModuleActivationHandlers(moduleId)
                .onDeactivations.add(serviceIdentifier, onDeactivation);
        };
        ModuleActivationStore.prototype.addActivation = function (moduleId, serviceIdentifier, onActivation) {
            this._getModuleActivationHandlers(moduleId)
                .onActivations.add(serviceIdentifier, onActivation);
        };
        ModuleActivationStore.prototype.clone = function () {
            var clone = new ModuleActivationStore();
            this._map.forEach(function (handlersStore, moduleId) {
                clone._map.set(moduleId, {
                    onActivations: handlersStore.onActivations.clone(),
                    onDeactivations: handlersStore.onDeactivations.clone(),
                });
            });
            return clone;
        };
        ModuleActivationStore.prototype._getModuleActivationHandlers = function (moduleId) {
            var moduleActivationHandlers = this._map.get(moduleId);
            if (moduleActivationHandlers === undefined) {
                moduleActivationHandlers = this._getEmptyHandlersStore();
                this._map.set(moduleId, moduleActivationHandlers);
            }
            return moduleActivationHandlers;
        };
        ModuleActivationStore.prototype._getEmptyHandlersStore = function () {
            var handlersStore = {
                onActivations: new lookup_1.Lookup(),
                onDeactivations: new lookup_1.Lookup()
            };
            return handlersStore;
        };
        return ModuleActivationStore;
    }());
    exports.ModuleActivationStore = ModuleActivationStore;
});
//# sourceMappingURL=module_activation_store.js.map