UNPKG

5.45 kBJavaScriptView Raw
1'use strict';
2
3var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
4
5var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
6
7var _create = require('babel-runtime/core-js/object/create');
8
9var _create2 = _interopRequireDefault(_create);
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13var util = require('util');
14
15function ChatServiceError(code) {
16 this.name = 'ChatServiceError';
17 this.code = code;
18
19 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
20 args[_key - 1] = arguments[_key];
21 }
22
23 this.args = args;
24}
25
26// pretend to be an error
27ChatServiceError.prototype = (0, _create2.default)(Error.prototype);
28
29/**
30 * @constant
31 * @default
32 * @memberof rpc.datatypes
33 */
34var codeToFormat = {
35 badArgument: 'Bad argument at position %d, value %j',
36 internalError: '%s',
37 invalidName: 'String %s contains invalid characters',
38 invalidSocket: 'Socket %s is not connected',
39 noCommand: 'No such command %s',
40 listLimitExceeded: 'Exceeded %s size limit',
41 noList: 'No such list %s',
42 noLogin: 'No login provided',
43 noRoom: 'No such room %s',
44 noSocket: 'Command %s requires a valid socket',
45 noUser: 'No such user %s',
46 noUserOnline: 'No such user online %s',
47 notAllowed: 'Action is not allowed',
48 notJoined: 'Not joined to room %s',
49 roomExists: 'Room %s already exists',
50 timeout: 'Server operation timeout',
51 userExists: 'User %s already exists',
52 userOnline: 'User %s is online',
53 wrongArgumentsCount: 'Expected %s arguments, got %s'
54};
55
56ChatServiceError.prototype.codeToFormat = codeToFormat;
57
58ChatServiceError.prototype.toString = function () {
59 var str = this.codeToFormat[this.code];
60 if (str) {
61 return util.format.apply(util, ['ChatServiceError: ' + str].concat((0, _toConsumableArray3.default)(this.args)));
62 } else {
63 return util.format('ChatServiceError: ' + this.code);
64 }
65};
66
67module.exports = ChatServiceError;
68//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9DaGF0U2VydmljZUVycm9yLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7QUFFQSxJQUFNLE9BQU8sUUFBUSxNQUFSLENBQWI7O0FBRUEsU0FBUyxnQkFBVCxDQUEyQixJQUEzQixFQUEwQztBQUN4QyxPQUFLLElBQUwsR0FBWSxrQkFBWjtBQUNBLE9BQUssSUFBTCxHQUFZLElBQVo7O0FBRndDLG9DQUFOLElBQU07QUFBTixRQUFNO0FBQUE7O0FBR3hDLE9BQUssSUFBTCxHQUFZLElBQVo7QUFDRDs7QUFFRDtBQUNBLGlCQUFpQixTQUFqQixHQUE2QixzQkFBYyxNQUFNLFNBQXBCLENBQTdCOztBQUVBOzs7OztBQUtBLElBQU0sZUFBZTtBQUNuQixlQUFhLHVDQURNO0FBRW5CLGlCQUFlLElBRkk7QUFHbkIsZUFBYSx1Q0FITTtBQUluQixpQkFBZSw0QkFKSTtBQUtuQixhQUFXLG9CQUxRO0FBTW5CLHFCQUFtQix3QkFOQTtBQU9uQixVQUFRLGlCQVBXO0FBUW5CLFdBQVMsbUJBUlU7QUFTbkIsVUFBUSxpQkFUVztBQVVuQixZQUFVLG9DQVZTO0FBV25CLFVBQVEsaUJBWFc7QUFZbkIsZ0JBQWMsd0JBWks7QUFhbkIsY0FBWSx1QkFiTztBQWNuQixhQUFXLHVCQWRRO0FBZW5CLGNBQVksd0JBZk87QUFnQm5CLFdBQVMsMEJBaEJVO0FBaUJuQixjQUFZLHdCQWpCTztBQWtCbkIsY0FBWSxtQkFsQk87QUFtQm5CLHVCQUFxQjtBQW5CRixDQUFyQjs7QUFzQkEsaUJBQWlCLFNBQWpCLENBQTJCLFlBQTNCLEdBQTBDLFlBQTFDOztBQUVBLGlCQUFpQixTQUFqQixDQUEyQixRQUEzQixHQUFzQyxZQUFZO0FBQ2hELE1BQUksTUFBTSxLQUFLLFlBQUwsQ0FBa0IsS0FBSyxJQUF2QixDQUFWO0FBQ0EsTUFBSSxHQUFKLEVBQVM7QUFDUCxXQUFPLEtBQUssTUFBTCxxQ0FBaUMsR0FBakMsMENBQTJDLEtBQUssSUFBaEQsR0FBUDtBQUNELEdBRkQsTUFFTztBQUNMLFdBQU8sS0FBSyxNQUFMLHdCQUFpQyxLQUFLLElBQXRDLENBQVA7QUFDRDtBQUNGLENBUEQ7O0FBU0EsT0FBTyxPQUFQLEdBQWlCLGdCQUFqQiIsImZpbGUiOiJDaGF0U2VydmljZUVycm9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmNvbnN0IHV0aWwgPSByZXF1aXJlKCd1dGlsJylcblxuZnVuY3Rpb24gQ2hhdFNlcnZpY2VFcnJvciAoY29kZSwgLi4uYXJncykge1xuICB0aGlzLm5hbWUgPSAnQ2hhdFNlcnZpY2VFcnJvcidcbiAgdGhpcy5jb2RlID0gY29kZVxuICB0aGlzLmFyZ3MgPSBhcmdzXG59XG5cbi8vIHByZXRlbmQgdG8gYmUgYW4gZXJyb3JcbkNoYXRTZXJ2aWNlRXJyb3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpXG5cbi8qKlxuICogQGNvbnN0YW50XG4gKiBAZGVmYXVsdFxuICogQG1lbWJlcm9mIHJwYy5kYXRhdHlwZXNcbiAqL1xuY29uc3QgY29kZVRvRm9ybWF0ID0ge1xuICBiYWRBcmd1bWVudDogJ0JhZCBhcmd1bWVudCBhdCBwb3NpdGlvbiAlZCwgdmFsdWUgJWonLFxuICBpbnRlcm5hbEVycm9yOiAnJXMnLFxuICBpbnZhbGlkTmFtZTogJ1N0cmluZyAlcyBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMnLFxuICBpbnZhbGlkU29ja2V0OiAnU29ja2V0ICVzIGlzIG5vdCBjb25uZWN0ZWQnLFxuICBub0NvbW1hbmQ6ICdObyBzdWNoIGNvbW1hbmQgJXMnLFxuICBsaXN0TGltaXRFeGNlZWRlZDogJ0V4Y2VlZGVkICVzIHNpemUgbGltaXQnLFxuICBub0xpc3Q6ICdObyBzdWNoIGxpc3QgJXMnLFxuICBub0xvZ2luOiAnTm8gbG9naW4gcHJvdmlkZWQnLFxuICBub1Jvb206ICdObyBzdWNoIHJvb20gJXMnLFxuICBub1NvY2tldDogJ0NvbW1hbmQgJXMgcmVxdWlyZXMgYSB2YWxpZCBzb2NrZXQnLFxuICBub1VzZXI6ICdObyBzdWNoIHVzZXIgJXMnLFxuICBub1VzZXJPbmxpbmU6ICdObyBzdWNoIHVzZXIgb25saW5lICVzJyxcbiAgbm90QWxsb3dlZDogJ0FjdGlvbiBpcyBub3QgYWxsb3dlZCcsXG4gIG5vdEpvaW5lZDogJ05vdCBqb2luZWQgdG8gcm9vbSAlcycsXG4gIHJvb21FeGlzdHM6ICdSb29tICVzIGFscmVhZHkgZXhpc3RzJyxcbiAgdGltZW91dDogJ1NlcnZlciBvcGVyYXRpb24gdGltZW91dCcsXG4gIHVzZXJFeGlzdHM6ICdVc2VyICVzIGFscmVhZHkgZXhpc3RzJyxcbiAgdXNlck9ubGluZTogJ1VzZXIgJXMgaXMgb25saW5lJyxcbiAgd3JvbmdBcmd1bWVudHNDb3VudDogJ0V4cGVjdGVkICVzIGFyZ3VtZW50cywgZ290ICVzJ1xufVxuXG5DaGF0U2VydmljZUVycm9yLnByb3RvdHlwZS5jb2RlVG9Gb3JtYXQgPSBjb2RlVG9Gb3JtYXRcblxuQ2hhdFNlcnZpY2VFcnJvci5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7XG4gIGxldCBzdHIgPSB0aGlzLmNvZGVUb0Zvcm1hdFt0aGlzLmNvZGVdXG4gIGlmIChzdHIpIHtcbiAgICByZXR1cm4gdXRpbC5mb3JtYXQoYENoYXRTZXJ2aWNlRXJyb3I6ICR7c3RyfWAsIC4uLnRoaXMuYXJncylcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdXRpbC5mb3JtYXQoYENoYXRTZXJ2aWNlRXJyb3I6ICR7dGhpcy5jb2RlfWApXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBDaGF0U2VydmljZUVycm9yXG4iXX0=
\No newline at end of file