UNPKG

open-next-cdk

Version:

Deploy a NextJS app using OpenNext packaging to serverless AWS using CDK

58 lines (57 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NODE_RETRY_MODE_CONFIG_OPTIONS = exports.CONFIG_RETRY_MODE = exports.ENV_RETRY_MODE = exports.resolveRetryConfig = exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = exports.CONFIG_MAX_ATTEMPTS = exports.ENV_MAX_ATTEMPTS = void 0; const util_middleware_1 = require("@smithy/util-middleware"); const util_retry_1 = require("@smithy/util-retry"); exports.ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS"; exports.CONFIG_MAX_ATTEMPTS = "max_attempts"; exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = { environmentVariableSelector: (env) => { const value = env[exports.ENV_MAX_ATTEMPTS]; if (!value) return undefined; const maxAttempt = parseInt(value); if (Number.isNaN(maxAttempt)) { throw new Error(`Environment variable ${exports.ENV_MAX_ATTEMPTS} mast be a number, got "${value}"`); } return maxAttempt; }, configFileSelector: (profile) => { const value = profile[exports.CONFIG_MAX_ATTEMPTS]; if (!value) return undefined; const maxAttempt = parseInt(value); if (Number.isNaN(maxAttempt)) { throw new Error(`Shared config file entry ${exports.CONFIG_MAX_ATTEMPTS} mast be a number, got "${value}"`); } return maxAttempt; }, default: util_retry_1.DEFAULT_MAX_ATTEMPTS, }; const resolveRetryConfig = (input) => { var _a; const { retryStrategy } = input; const maxAttempts = (0, util_middleware_1.normalizeProvider)((_a = input.maxAttempts) !== null && _a !== void 0 ? _a : util_retry_1.DEFAULT_MAX_ATTEMPTS); return { ...input, maxAttempts, retryStrategy: async () => { if (retryStrategy) { return retryStrategy; } const retryMode = await (0, util_middleware_1.normalizeProvider)(input.retryMode)(); if (retryMode === util_retry_1.RETRY_MODES.ADAPTIVE) { return new util_retry_1.AdaptiveRetryStrategy(maxAttempts); } return new util_retry_1.StandardRetryStrategy(maxAttempts); }, }; }; exports.resolveRetryConfig = resolveRetryConfig; exports.ENV_RETRY_MODE = "AWS_RETRY_MODE"; exports.CONFIG_RETRY_MODE = "retry_mode"; exports.NODE_RETRY_MODE_CONFIG_OPTIONS = { environmentVariableSelector: (env) => env[exports.ENV_RETRY_MODE], configFileSelector: (profile) => profile[exports.CONFIG_RETRY_MODE], default: util_retry_1.DEFAULT_RETRY_MODE, };