UNPKG

@azure/event-hubs

Version:
124 lines (123 loc) 5.02 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var eventPosition_exports = {}; __export(eventPosition_exports, { earliestEventPosition: () => earliestEventPosition, getEventPositionFilter: () => getEventPositionFilter, isEventPosition: () => isEventPosition, isLatestPosition: () => isLatestPosition, latestEventPosition: () => latestEventPosition, validateEventPositions: () => validateEventPositions }); module.exports = __toCommonJS(eventPosition_exports); var import_core_amqp = require("@azure/core-amqp"); var import_core_util = require("@azure/core-util"); function getEventPositionFilter(eventPosition) { let result; if ((0, import_core_util.isDefined)(eventPosition.offset)) { result = eventPosition.isInclusive ? `${import_core_amqp.Constants.offsetAnnotation} >= '${eventPosition.offset}'` : `${import_core_amqp.Constants.offsetAnnotation} > '${eventPosition.offset}'`; } else if ((0, import_core_util.isDefined)(eventPosition.sequenceNumber)) { result = eventPosition.isInclusive ? `${import_core_amqp.Constants.sequenceNumberAnnotation} >= '${eventPosition.sequenceNumber}'` : `${import_core_amqp.Constants.sequenceNumberAnnotation} > '${eventPosition.sequenceNumber}'`; } else if ((0, import_core_util.isDefined)(eventPosition.enqueuedOn)) { const time = eventPosition.enqueuedOn instanceof Date ? eventPosition.enqueuedOn.getTime() : eventPosition.enqueuedOn; result = `${import_core_amqp.Constants.enqueuedTimeAnnotation} > '${time}'`; } if (!result) { throw (0, import_core_amqp.translate)({ condition: import_core_amqp.ErrorNameConditionMapper.ArgumentError, description: "No starting position was set in the EventPosition." }); } return result; } function isLatestPosition(eventPosition) { if (eventPosition.offset === "@latest") { return true; } return false; } const earliestEventPosition = { offset: "-1" }; const latestEventPosition = { offset: "@latest" }; function validateEventPositions(position) { if (!(0, import_core_util.isDefined)(position)) { return; } const keys = Object.keys(position); if (!keys.length) { throw new TypeError( "Invalid value for EventPosition found. Pass an object with either of offset, sequenceNumber or enqueuedOn properties set." ); } if (isEventPosition(position)) { validateEventPosition(position); return; } const positions = position; for (let i = 0; i < keys.length; i++) { if (Object.prototype.hasOwnProperty.call(positions, keys[i])) { validateEventPosition(positions[keys[i]]); } } } function isEventPosition(position) { if (!position) { return false; } if ((0, import_core_util.objectHasProperty)(position, "offset") && (0, import_core_util.isDefined)(position.offset)) { return true; } if ((0, import_core_util.objectHasProperty)(position, "sequenceNumber") && (0, import_core_util.isDefined)(position.sequenceNumber)) { return true; } if ((0, import_core_util.objectHasProperty)(position, "enqueuedOn") && (0, import_core_util.isDefined)(position.enqueuedOn)) { return true; } return false; } function validateEventPosition(position) { if (!(0, import_core_util.isDefined)(position)) { return; } const offsetPresent = (0, import_core_util.isDefined)(position.offset); const sequenceNumberPresent = (0, import_core_util.isDefined)(position.sequenceNumber); const enqueuedOnPresent = (0, import_core_util.isDefined)(position.enqueuedOn); if (offsetPresent && sequenceNumberPresent || offsetPresent && enqueuedOnPresent || enqueuedOnPresent && sequenceNumberPresent) { throw new TypeError( "Invalid value for EventPosition found. Set only one of offset, sequenceNumber or enqueuedOn properties." ); } if (!offsetPresent && !enqueuedOnPresent && !sequenceNumberPresent) { throw new TypeError( "Invalid value for EventPosition found. Pass an object with either of offset, sequenceNumber or enqueuedOn properties set." ); } } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { earliestEventPosition, getEventPositionFilter, isEventPosition, isLatestPosition, latestEventPosition, validateEventPositions }); //# sourceMappingURL=eventPosition.js.map