UNPKG

@aws-sdk/client-dynamodb

Version:

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

53 lines (52 loc) 3.38 kB
import { resolveAccountIdEndpointModeConfig, } from "@aws-sdk/core/account-id-endpoint"; import { getHostHeaderPlugin, getLoggerPlugin, getRecursionDetectionPlugin, getUserAgentPlugin, resolveHostHeaderConfig, resolveUserAgentConfig, } from "@aws-sdk/core/client"; import { resolveEndpointDiscoveryConfig, } from "@aws-sdk/middleware-endpoint-discovery"; import { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from "@smithy/core"; import { Client as __Client, } from "@smithy/core/client"; import { resolveRegionConfig } from "@smithy/core/config"; import { resolveEndpointConfig } from "@smithy/core/endpoints"; import { getContentLengthPlugin } from "@smithy/core/protocols"; import { getRetryPlugin, resolveRetryConfig, Retry, } from "@smithy/core/retry"; import { getSchemaSerdePlugin } from "@smithy/core/schema"; import { defaultDynamoDBHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; import { DescribeEndpointsCommand, } from "./commands/DescribeEndpointsCommand"; import { resolveClientEndpointParameters, } from "./endpoint/EndpointParameters"; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; import { resolveRuntimeExtensions } from "./runtimeExtensions"; export { __Client }; export class DynamoDBClient extends __Client { config; constructor(...[configuration]) { const _config_0 = __getRuntimeConfig(configuration || {}); super(_config_0); this.initConfig = _config_0; const _config_1 = resolveClientEndpointParameters(_config_0); const _config_2 = resolveAccountIdEndpointModeConfig(_config_1); const _config_3 = resolveUserAgentConfig(_config_2); const _config_4 = resolveRetryConfig(_config_3, { defaultBaseDelay: Retry.v2026 ? 25 : undefined, defaultMaxAttempts: Retry.v2026 ? 4 : undefined }); const _config_5 = resolveRegionConfig(_config_4); const _config_6 = resolveHostHeaderConfig(_config_5); const _config_7 = resolveEndpointConfig(_config_6); const _config_8 = resolveHttpAuthSchemeConfig(_config_7); const _config_9 = resolveEndpointDiscoveryConfig(_config_8, { endpointDiscoveryCommandCtor: DescribeEndpointsCommand }); const _config_10 = resolveRuntimeExtensions(_config_9, configuration?.extensions || []); this.config = _config_10; this.middlewareStack.use(getSchemaSerdePlugin(this.config)); this.middlewareStack.use(getUserAgentPlugin(this.config)); this.middlewareStack.use(getRetryPlugin(this.config)); this.middlewareStack.use(getContentLengthPlugin(this.config)); this.middlewareStack.use(getHostHeaderPlugin(this.config)); this.middlewareStack.use(getLoggerPlugin(this.config)); this.middlewareStack.use(getRecursionDetectionPlugin(this.config)); this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, { httpAuthSchemeParametersProvider: defaultDynamoDBHttpAuthSchemeParametersProvider, identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({ "aws.auth#sigv4": config.credentials, }), })); this.middlewareStack.use(getHttpSigningPlugin(this.config)); } destroy() { super.destroy(); } }