Optional Readonlyclient?: IDynamoClientAn already-constructed client; omit it to load the SDK lazily.
Optional Readonlycredentials?: unknownAWS credentials or an SDK-supported credential provider. Omitted in production so the SDK's own provider chain applies.
Optional Readonlyendpoint?: stringAn optional custom endpoint, such as DynamoDB Local. Absent in production, where the region's own endpoint applies.
Readonlyregion: stringThe AWS region supplied to the constructed DynamoDBClient.
Required on the lazy arm: the SDK's signer needs a region even against
DynamoDB Local, and M80's suite pins one ('us-east-1') rather than
letting it vary.
Readonlyclient: IDynamoClientAn already-constructed IDynamoClient.
When present, the lazy import('@aws-sdk/client-dynamodb')
never runs — the seam that keeps the branching unit-testable — and the
client is never destroyed on disconnect(), because it belongs to the
application.
Optional Readonlycredentials?: unknownAWS credentials; unread once a client is injected.
Optional Readonlyendpoint?: stringThe custom endpoint; unread once a client is injected. It stays an
optional member on both arms so the adapter reads options.endpoint
without narrowing first — the MongoAdapterOptions shape.
Optional Readonlyregion?: stringThe AWS region; unread once a client is injected.
Options for the DynamoAdapter — the
'dynamodb'arm.A union of two arms, so supplying neither
regionnorclientis a compile error rather than aconnect()throw — the guarantee every other built-in arm gives ('prisma'requiresprismaClient,'mongodb'requiresurlorclient,'custom'requiresadapter).regionis the lazy arm's required member because the AWS SDK cannot resolve a region from nothing, whileendpointstays optional: it names an emulator such as DynamoDB Local and is absent in production, where the region's own endpoint applies. Both members stay readable on either arm, so the adapter readsoptions.regionandoptions.clientwithout narrowing first.