UNPKG

2.29 kBJavaScriptView Raw
1import { __assign } from "tslib";
2import { getHostnameFromVariants } from "./getHostnameFromVariants";
3import { getResolvedHostname } from "./getResolvedHostname";
4import { getResolvedPartition } from "./getResolvedPartition";
5import { getResolvedSigningRegion } from "./getResolvedSigningRegion";
6export var getRegionInfo = function (region, _a) {
7 var _b, _c, _d, _e, _f, _g;
8 var _h = _a.useFipsEndpoint, useFipsEndpoint = _h === void 0 ? false : _h, _j = _a.useDualstackEndpoint, useDualstackEndpoint = _j === void 0 ? false : _j, signingService = _a.signingService, regionHash = _a.regionHash, partitionHash = _a.partitionHash;
9 var partition = getResolvedPartition(region, { partitionHash: partitionHash });
10 var resolvedRegion = region in regionHash ? region : (_c = (_b = partitionHash[partition]) === null || _b === void 0 ? void 0 : _b.endpoint) !== null && _c !== void 0 ? _c : region;
11 var hostnameOptions = { useFipsEndpoint: useFipsEndpoint, useDualstackEndpoint: useDualstackEndpoint };
12 var regionHostname = getHostnameFromVariants((_d = regionHash[resolvedRegion]) === null || _d === void 0 ? void 0 : _d.variants, hostnameOptions);
13 var partitionHostname = getHostnameFromVariants((_e = partitionHash[partition]) === null || _e === void 0 ? void 0 : _e.variants, hostnameOptions);
14 var hostname = getResolvedHostname(resolvedRegion, { regionHostname: regionHostname, partitionHostname: partitionHostname });
15 if (hostname === undefined) {
16 throw new Error("Endpoint resolution failed for: ".concat({ resolvedRegion: resolvedRegion, useFipsEndpoint: useFipsEndpoint, useDualstackEndpoint: useDualstackEndpoint }));
17 }
18 var signingRegion = getResolvedSigningRegion(hostname, {
19 signingRegion: (_f = regionHash[resolvedRegion]) === null || _f === void 0 ? void 0 : _f.signingRegion,
20 regionRegex: partitionHash[partition].regionRegex,
21 useFipsEndpoint: useFipsEndpoint,
22 });
23 return __assign(__assign({ partition: partition, signingService: signingService, hostname: hostname }, (signingRegion && { signingRegion: signingRegion })), (((_g = regionHash[resolvedRegion]) === null || _g === void 0 ? void 0 : _g.signingService) && {
24 signingService: regionHash[resolvedRegion].signingService,
25 }));
26};