@azure/event-hubs
Version:
Azure Event Hubs SDK for JS.
71 lines (70 loc) • 2.85 kB
JavaScript
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 connectionStringUtils_exports = {};
__export(connectionStringUtils_exports, {
parseEventHubConnectionString: () => parseEventHubConnectionString
});
module.exports = __toCommonJS(connectionStringUtils_exports);
var import_core_amqp = require("@azure/core-amqp");
function parseEventHubConnectionString(connectionString) {
const parsedResult = (0, import_core_amqp.parseConnectionString)(connectionString);
validateProperties(
parsedResult.Endpoint,
parsedResult.SharedAccessSignature,
parsedResult.SharedAccessKey,
parsedResult.SharedAccessKeyName
);
const output = {
fullyQualifiedNamespace: (parsedResult.Endpoint.match(".*://([^/]*)") || [])[1],
endpoint: parsedResult.Endpoint
};
if (parsedResult.EntityPath) {
output.eventHubName = parsedResult.EntityPath;
}
if (parsedResult.SharedAccessSignature) {
output.sharedAccessSignature = parsedResult.SharedAccessSignature;
}
if (parsedResult.SharedAccessKey && parsedResult.SharedAccessKeyName) {
output.sharedAccessKey = parsedResult.SharedAccessKey;
output.sharedAccessKeyName = parsedResult.SharedAccessKeyName;
}
return output;
}
function validateProperties(endpoint, sharedAccessSignature, sharedAccessKey, sharedAccessKeyName) {
if (!endpoint) {
throw new Error("Connection string should have an Endpoint key.");
}
if (sharedAccessSignature) {
if (sharedAccessKey || sharedAccessKeyName) {
throw new Error(
"Connection string cannot have both SharedAccessSignature and SharedAccessKey keys."
);
}
} else if (sharedAccessKey && !sharedAccessKeyName) {
throw new Error("Connection string with SharedAccessKey should have SharedAccessKeyName.");
} else if (!sharedAccessKey && sharedAccessKeyName) {
throw new Error(
"Connection string with SharedAccessKeyName should have SharedAccessKey as well."
);
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
parseEventHubConnectionString
});
//# sourceMappingURL=connectionStringUtils.js.map