metallic-launcher
Version:
Service launcher for metallic
31 lines (22 loc) • 2.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _metallicInterfaces = require('metallic-interfaces');
var _server = require('./server');
var _server2 = _interopRequireDefault(_server);
var _leader = require('./leader');
var _leader2 = _interopRequireDefault(_leader);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const ClusterClassFactories = new Set([_leader2.default, _server2.default]);
class ClusterFactory extends _metallicInterfaces.FactoryInterface {
static create({ httpServer, metrics, logger, options = { enabled: false } } = {}) {
for (let ClusterClassFactory of ClusterClassFactories) {
if (ClusterClassFactory.shouldCreate(options.enabled)) {
return ClusterClassFactory.create({ httpServer, metrics, logger, options });
}
}
}
}
exports.default = ClusterFactory;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbHVzdGVyL2NsdXN0ZXItZmFjdG9yeS5qcyJdLCJuYW1lcyI6WyJDbHVzdGVyQ2xhc3NGYWN0b3JpZXMiLCJTZXQiLCJDbHVzdGVyRmFjdG9yeSIsImNyZWF0ZSIsImh0dHBTZXJ2ZXIiLCJtZXRyaWNzIiwibG9nZ2VyIiwib3B0aW9ucyIsImVuYWJsZWQiLCJDbHVzdGVyQ2xhc3NGYWN0b3J5Iiwic2hvdWxkQ3JlYXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxNQUFNQSx3QkFBd0IsSUFBSUMsR0FBSixDQUFRLG9DQUFSLENBQTlCOztBQUVlLE1BQU1DLGNBQU4sOENBQThDO0FBQzNELFNBQU9DLE1BQVAsQ0FBZSxFQUFFQyxVQUFGLEVBQWNDLE9BQWQsRUFBdUJDLE1BQXZCLEVBQStCQyxVQUFVLEVBQUVDLFNBQVMsS0FBWCxFQUF6QyxLQUFnRSxFQUEvRSxFQUFtRjtBQUNqRixTQUFLLElBQUlDLG1CQUFULElBQWdDVCxxQkFBaEMsRUFBdUQ7QUFDckQsVUFBSVMsb0JBQW9CQyxZQUFwQixDQUFpQ0gsUUFBUUMsT0FBekMsQ0FBSixFQUF1RDtBQUNyRCxlQUFPQyxvQkFBb0JOLE1BQXBCLENBQTJCLEVBQUVDLFVBQUYsRUFBY0MsT0FBZCxFQUF1QkMsTUFBdkIsRUFBK0JDLE9BQS9CLEVBQTNCLENBQVA7QUFDRDtBQUNGO0FBQ0Y7QUFQMEQ7a0JBQXhDTCxjIiwiZmlsZSI6ImNsdXN0ZXItZmFjdG9yeS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3RvcnlJbnRlcmZhY2UgfSBmcm9tICdtZXRhbGxpYy1pbnRlcmZhY2VzJ1xuaW1wb3J0IFNlcnZlckZhY3RvcnkgZnJvbSAnLi9zZXJ2ZXInXG5pbXBvcnQgTGVhZGVyRmFjdG9yeSBmcm9tICcuL2xlYWRlcidcblxuY29uc3QgQ2x1c3RlckNsYXNzRmFjdG9yaWVzID0gbmV3IFNldChbIExlYWRlckZhY3RvcnksIFNlcnZlckZhY3RvcnkgXSlcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2x1c3RlckZhY3RvcnkgZXh0ZW5kcyBGYWN0b3J5SW50ZXJmYWNlIHtcbiAgc3RhdGljIGNyZWF0ZSAoeyBodHRwU2VydmVyLCBtZXRyaWNzLCBsb2dnZXIsIG9wdGlvbnMgPSB7IGVuYWJsZWQ6IGZhbHNlIH0gfSA9IHt9KSB7XG4gICAgZm9yIChsZXQgQ2x1c3RlckNsYXNzRmFjdG9yeSBvZiBDbHVzdGVyQ2xhc3NGYWN0b3JpZXMpIHtcbiAgICAgIGlmIChDbHVzdGVyQ2xhc3NGYWN0b3J5LnNob3VsZENyZWF0ZShvcHRpb25zLmVuYWJsZWQpKSB7XG4gICAgICAgIHJldHVybiBDbHVzdGVyQ2xhc3NGYWN0b3J5LmNyZWF0ZSh7IGh0dHBTZXJ2ZXIsIG1ldHJpY3MsIGxvZ2dlciwgb3B0aW9ucyB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19