@talema/graphql-azure-servicebus-subscriptions
Version:
A GraphQL subscription library using Azure Service Bus topics as PubSub server
56 lines • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FakeMessageReceiver = exports.FakeMessageSender = void 0;
class FakeMessageSender {
constructor(receiver) {
this.messages = [];
this.receiver = receiver;
}
sendMessages(message) {
this.messages.push(message);
this.receiver.pendingMessages.push(message);
return Promise.resolve();
}
messageCount() {
return this.messages.length;
}
lastMessage() {
return this.messages.length > 0
? this.messages[this.messages.length - 1]
: undefined;
}
reset() {
this.messages = [];
}
}
exports.FakeMessageSender = FakeMessageSender;
class FakeMessageReceiver {
constructor() {
this.pendingMessages = [];
this.onClose = () => { };
}
subscribe(handlers, options) {
this.messageHandlers = handlers;
return {
close: () => {
this.onClose();
return Promise.resolve();
},
};
}
flush() {
var _a;
for (const index in this.pendingMessages) {
const message = this.pendingMessages[index];
const receivedMessage = message;
(_a = this.messageHandlers) === null || _a === void 0 ? void 0 : _a.processMessage(receivedMessage);
this.pendingMessages.splice(index, 1);
}
return Promise.resolve();
}
reset() {
this.pendingMessages = [];
}
}
exports.FakeMessageReceiver = FakeMessageReceiver;
//# sourceMappingURL=utils.js.map