nest-nsq-transport
Version:
NestJS microservice transport for NSQ
34 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NSQPattern = void 0;
class NSQPattern {
topic;
channel;
discard;
static DELIMITER = '/';
static DISCARD_SUFFIX = 'discard';
static parse(pattern) {
if (typeof pattern !== 'string')
return null;
const [topic, channel, discard, ...rest] = pattern.split(NSQPattern.DELIMITER);
if (!topic ||
!channel ||
(discard && discard !== NSQPattern.DISCARD_SUFFIX) ||
rest.length > 0)
return null;
return new NSQPattern(topic, channel, discard === NSQPattern.DISCARD_SUFFIX);
}
constructor(topic, channel, discard = false) {
this.topic = topic;
this.channel = channel;
this.discard = discard;
}
toString(skipDiscard = false) {
const parts = [this.topic, this.channel];
if (!skipDiscard && this.discard)
parts.push(NSQPattern.DISCARD_SUFFIX);
return parts.join(NSQPattern.DELIMITER);
}
}
exports.NSQPattern = NSQPattern;
//# sourceMappingURL=pattern.js.map