UNPKG

@naktibalda/stub-azure-function-context

Version:
49 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QueueBinding = void 0; const uuid_1 = require("uuid"); const MESSAGE_MAP = { messageId: 'id', messageText: 'queueTrigger', dequeueCount: 'dequeueCount', expiresOn: 'expirationTime', insertedOn: 'insertionTime', nextVisibleOn: 'nextVisibleTime', popReceipt: 'popReceipt', }; class QueueBinding { constructor(bindingData) { this.data = bindingData; } static createFromMessageText(queueTrigger) { const now = Date.now(); return new QueueBinding({ id: (0, uuid_1.v4)(), queueTrigger, dequeueCount: 1, insertionTime: new Date(now).toJSON(), expirationTime: new Date(now + (7 * 24 * 60 * 60 * 1000)).toJSON(), nextVisibleTime: new Date(now + (5 * 60 * 1000)).toJSON(), popReceipt: (0, uuid_1.v4)(), }); } static createFromDequeuedMessageItem(messageItem) { const keys = Object.keys(MESSAGE_MAP); const bindingData = keys.reduce((bindingData, messageKey) => { const key = MESSAGE_MAP[messageKey]; return { ...bindingData, [key]: messageItem[messageKey], }; }, {}); return new QueueBinding(bindingData); } toContextBinding() { return this.data; } toTrigger() { return this.data.queueTrigger; } } exports.QueueBinding = QueueBinding; //# sourceMappingURL=queue-binding.js.map