UNPKG

metallic-launcher

Version:
37 lines (28 loc) 2.64 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.SERVER = exports.LEADER = undefined; var _cluster = require('cluster'); var _metallicErrors = require('metallic-errors'); const LEADER = exports.LEADER = Symbol('leader'); const SERVER = exports.SERVER = Symbol('server'); class Role { constructor() { throw new _metallicErrors.AbstractClassError(Role.name); } static isLeader(clusterOn) { return clusterOn && _cluster.isMaster; } static isServer(clusterOn) { return !this.isLeader(clusterOn); } static get(clusterOn) { return this.isLeader(clusterOn) ? LEADER : SERVER; } static getName(clusterOn) { return this.isLeader(clusterOn) ? 'leader' : 'server'; } } exports.default = Role; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbHVzdGVyL3JvbGUuanMiXSwibmFtZXMiOlsiTEVBREVSIiwiU3ltYm9sIiwiU0VSVkVSIiwiUm9sZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImlzTGVhZGVyIiwiY2x1c3Rlck9uIiwiaXNTZXJ2ZXIiLCJnZXQiLCJnZXROYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRU8sTUFBTUEsMEJBQVNDLE9BQU8sUUFBUCxDQUFmO0FBQ0EsTUFBTUMsMEJBQVNELE9BQU8sUUFBUCxDQUFmOztBQUVRLE1BQU1FLElBQU4sQ0FBVztBQUN4QkMsZ0JBQWU7QUFDYixVQUFNLHVDQUF1QkQsS0FBS0UsSUFBNUIsQ0FBTjtBQUNEOztBQUVELFNBQU9DLFFBQVAsQ0FBaUJDLFNBQWpCLEVBQTRCO0FBQzFCLFdBQU9BLDhCQUFQO0FBQ0Q7O0FBRUQsU0FBT0MsUUFBUCxDQUFpQkQsU0FBakIsRUFBNEI7QUFDMUIsV0FBTyxDQUFDLEtBQUtELFFBQUwsQ0FBY0MsU0FBZCxDQUFSO0FBQ0Q7O0FBRUQsU0FBT0UsR0FBUCxDQUFZRixTQUFaLEVBQXVCO0FBQ3JCLFdBQU8sS0FBS0QsUUFBTCxDQUFjQyxTQUFkLElBQTJCUCxNQUEzQixHQUFvQ0UsTUFBM0M7QUFDRDs7QUFFRCxTQUFPUSxPQUFQLENBQWdCSCxTQUFoQixFQUEyQjtBQUN6QixXQUFPLEtBQUtELFFBQUwsQ0FBY0MsU0FBZCxJQUEyQixRQUEzQixHQUFzQyxRQUE3QztBQUNEO0FBbkJ1QjtrQkFBTEosSSIsImZpbGUiOiJyb2xlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNNYXN0ZXIgfSBmcm9tICdjbHVzdGVyJ1xuaW1wb3J0IHsgQWJzdHJhY3RDbGFzc0Vycm9yIH0gZnJvbSAnbWV0YWxsaWMtZXJyb3JzJ1xuXG5leHBvcnQgY29uc3QgTEVBREVSID0gU3ltYm9sKCdsZWFkZXInKVxuZXhwb3J0IGNvbnN0IFNFUlZFUiA9IFN5bWJvbCgnc2VydmVyJylcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm9sZSB7XG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICB0aHJvdyBuZXcgQWJzdHJhY3RDbGFzc0Vycm9yKFJvbGUubmFtZSlcbiAgfVxuXG4gIHN0YXRpYyBpc0xlYWRlciAoY2x1c3Rlck9uKSB7XG4gICAgcmV0dXJuIGNsdXN0ZXJPbiAmJiBpc01hc3RlclxuICB9XG5cbiAgc3RhdGljIGlzU2VydmVyIChjbHVzdGVyT24pIHtcbiAgICByZXR1cm4gIXRoaXMuaXNMZWFkZXIoY2x1c3Rlck9uKVxuICB9XG5cbiAgc3RhdGljIGdldCAoY2x1c3Rlck9uKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNMZWFkZXIoY2x1c3Rlck9uKSA/IExFQURFUiA6IFNFUlZFUlxuICB9XG5cbiAgc3RhdGljIGdldE5hbWUgKGNsdXN0ZXJPbikge1xuICAgIHJldHVybiB0aGlzLmlzTGVhZGVyKGNsdXN0ZXJPbikgPyAnbGVhZGVyJyA6ICdzZXJ2ZXInXG4gIH1cbn1cbiJdfQ==