ioredis-mock
Version:
This library emulates ioredis by performing all operations in-memory.
26 lines (20 loc) • 805 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.publish = publish;
var _minimatch = require('minimatch');
var _minimatch2 = _interopRequireDefault(_minimatch);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function publish(channel, message) {
var _this = this;
this.channels.emit(channel, message);
var matchingPatterns = this.patternChannels.eventNames().filter(function (pattern) {
return (0, _minimatch2.default)(channel, pattern);
});
matchingPatterns.forEach(function (matchingChannel) {
return _this.patternChannels.emit(matchingChannel, message, channel);
});
var numberOfSubscribers = matchingPatterns.length + this.channels.listenerCount(channel);
return numberOfSubscribers;
}