@softchef/cdk-iot-device-management
Version:
IoT device management is composed of things, thing types, thing groups, jobs, files API services. The constructs can be used independently, that are based on full-managed service to create an API Gateway & Lambda function.
40 lines (39 loc) • 1.78 kB
JavaScript
import { __awaiter, __generator } from "tslib";
import { memoize } from "@aws-sdk/property-provider";
import { DEFAULTS_MODE_OPTIONS } from "./constants";
export var resolveDefaultsModeConfig = function (_a) {
var _b = _a === void 0 ? {} : _a, defaultsMode = _b.defaultsMode;
return memoize(function () { return __awaiter(void 0, void 0, void 0, function () {
var mode, _a;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
if (!(typeof defaultsMode === "function")) return [3, 2];
return [4, defaultsMode()];
case 1:
_a = _b.sent();
return [3, 3];
case 2:
_a = defaultsMode;
_b.label = 3;
case 3:
mode = _a;
switch (mode === null || mode === void 0 ? void 0 : mode.toLowerCase()) {
case "auto":
return [2, Promise.resolve("mobile")];
case "mobile":
case "in-region":
case "cross-region":
case "standard":
case "legacy":
return [2, Promise.resolve(mode === null || mode === void 0 ? void 0 : mode.toLocaleLowerCase())];
case undefined:
return [2, Promise.resolve("legacy")];
default:
throw new Error("Invalid parameter for \"defaultsMode\", expect " + DEFAULTS_MODE_OPTIONS.join(", ") + ", got " + mode);
}
return [2];
}
});
}); });
};