UNPKG

@aws-sdk/client-dynamodb

Version:

AWS SDK for JavaScript Dynamodb Client for Node.js, Browser and React Native

36 lines (35 loc) 2.6 kB
const packageInfo = require("../package.json"); const { Sha256 } = require("@aws-crypto/sha256-browser"); const { DEFAULT_ACCOUNT_ID_ENDPOINT_MODE } = require("@aws-sdk/core/account-id-endpoint"); const { createDefaultUserAgentProvider } = require("@aws-sdk/core/client"); const { invalidProvider, loadConfigsForDefaultMode } = require("@smithy/core/client"); const { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT, resolveDefaultsModeConfig } = require("@smithy/core/config"); const { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, Retry } = require("@smithy/core/retry"); const { calculateBodyLength } = require("@smithy/core/serde"); const { FetchHttpHandler: RequestHandler, streamCollector } = require("@smithy/fetch-http-handler"); const { getRuntimeConfig: getSharedRuntimeConfig } = require("./runtimeConfig.shared"); const getRuntimeConfig = (config) => { const defaultsMode = resolveDefaultsModeConfig(config); const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode); const clientSharedValues = getSharedRuntimeConfig(config); return { ...clientSharedValues, ...config, runtime: "browser", defaultsMode, accountIdEndpointMode: config?.accountIdEndpointMode ?? (() => Promise.resolve(DEFAULT_ACCOUNT_ID_ENDPOINT_MODE)), bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength, credentialDefaultProvider: config?.credentialDefaultProvider ?? ((_) => () => Promise.reject(new Error("Credential is missing"))), defaultUserAgentProvider: config?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), endpointDiscoveryEnabledProvider: config?.endpointDiscoveryEnabledProvider ?? (() => Promise.resolve(undefined)), maxAttempts: config?.maxAttempts ?? (Retry.v2026 ? 4 : DEFAULT_MAX_ATTEMPTS), region: config?.region ?? invalidProvider("Region is missing"), requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider), retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE), sha256: config?.sha256 ?? Sha256, streamCollector: config?.streamCollector ?? streamCollector, useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)), useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)), }; }; exports.getRuntimeConfig = getRuntimeConfig;