Files
typescript-domain/dist/PortResolver.js
Niels Kooiman 352211dfcf initial commit
2019-08-12 12:52:12 +02:00

31 lines
1.0 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var PortResolver = /** @class */ (function () {
function PortResolver() {
this._container = {};
}
PortResolver.prototype.register = function (name, fn) {
this._container[name] = fn;
};
PortResolver.prototype.registerInstance = function (name, fn) {
var _instance = null;
var getInstance = function (fn) {
return function () {
if (!_instance) {
_instance = fn();
}
return _instance;
};
};
this._container[name] = getInstance(fn);
};
PortResolver.prototype.resolve = function (name) {
if (name in this._container && typeof this._container[name] == 'function') {
return this._container[name]();
}
throw new Error('PortResolver can not resolve ' + name);
};
return PortResolver;
}());
exports.PortResolver = PortResolver;
//# sourceMappingURL=PortResolver.js.map