@message-queue-toolkit/amqp
Version:
AMQP adapter for message-queue-toolkit
32 lines • 1.31 kB
JavaScript
import { AbstractAmqpPublisher } from "./AbstractAmqpPublisher.js";
import { ensureAmqpQueue } from "./utils/amqpQueueUtils.js";
const NO_PARAMS = {
publishOptions: {},
};
export class AbstractAmqpQueuePublisher extends AbstractAmqpPublisher {
queueName;
constructor(dependencies, options) {
super(dependencies, options);
if (!options.locatorConfig?.queueName && !options.creationConfig?.queueName) {
throw new Error('Either locatorConfig or creationConfig must provide queueName');
}
this.queueName = options.locatorConfig
? options.locatorConfig.queueName
: // biome-ignore lint/style/noNonNullAssertion: <explanation>
options.creationConfig.queueName;
}
publishInternal(message, options) {
this.channel.sendToQueue(this.queueName, message, options.publishOptions);
}
publish(message, options = NO_PARAMS) {
super.publish(message, options);
}
resolveTopicOrQueue() {
return this.queueName;
}
createMissingEntities() {
// biome-ignore lint/style/noNonNullAssertion: <explanation>
return ensureAmqpQueue(this.connection, this.channel, this.creationConfig, this.locatorConfig);
}
}
//# sourceMappingURL=AbstractAmqpQueuePublisher.js.map