ioredis-mock
Version:
This library emulates ioredis by performing all operations in-memory.
35 lines (28 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.psubscribe = psubscribe;
var _emitMessage = require('../commands-utils/emitMessage');
var _emitMessage2 = _interopRequireDefault(_emitMessage);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function psubscribe() {
var _this = this;
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
args.forEach(function (pattern) {
if (_this.patternChannels.listenerCount(pattern) === 0) {
_this.patternChannels.on(pattern, function (message, channel) {
(0, _emitMessage2.default)(_this, channel, message);
});
} else {
// do not register another listener for existing channel pattern
}
});
var numberOfSubscribedChannels = this.patternChannels.eventNames().length;
if (numberOfSubscribedChannels > 0) {
this.subscriberMode = true;
}
return numberOfSubscribedChannels;
}