@silverwind/ioredis-mock
Version:
This library emulates ioredis by performing all operations in-memory.
18 lines (14 loc) • 754 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.publish = publish;
var _patternMatchesString = _interopRequireDefault(require("../commands-utils/patternMatchesString"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function publish(channel, message) {
this.channels.emit(channel, message);
const matchingPatterns = this.patternChannels.eventNames().filter(pattern => (0, _patternMatchesString.default)(pattern, channel));
matchingPatterns.forEach(matchingChannel => this.patternChannels.emit(matchingChannel, message, channel));
const numberOfSubscribers = matchingPatterns.length + this.channels.listenerCount(channel);
return numberOfSubscribers;
}