1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.resolveRegionConfig = void 0;
|
4 | const getRealRegion_1 = require("./getRealRegion");
|
5 | const isFipsRegion_1 = require("./isFipsRegion");
|
6 | const resolveRegionConfig = (input) => {
|
7 | const { region, useFipsEndpoint } = input;
|
8 | if (!region) {
|
9 | throw new Error("Region is missing");
|
10 | }
|
11 | return {
|
12 | ...input,
|
13 | region: async () => {
|
14 | if (typeof region === "string") {
|
15 | return (0, getRealRegion_1.getRealRegion)(region);
|
16 | }
|
17 | const providedRegion = await region();
|
18 | return (0, getRealRegion_1.getRealRegion)(providedRegion);
|
19 | },
|
20 | useFipsEndpoint: async () => {
|
21 | const providedRegion = typeof region === "string" ? region : await region();
|
22 | if ((0, isFipsRegion_1.isFipsRegion)(providedRegion)) {
|
23 | return true;
|
24 | }
|
25 | return typeof useFipsEndpoint === "boolean" ? Promise.resolve(useFipsEndpoint) : useFipsEndpoint();
|
26 | },
|
27 | };
|
28 | };
|
29 | exports.resolveRegionConfig = resolveRegionConfig;
|