1.4.0 • Published 9 months ago
@effect-aws/client-dynamodb v1.4.0
@effect-aws/client-dynamodb
Installation
npm install --save @effect-aws/client-dynamodb
Usage
With default DynamoDBClient instance:
import {
DynamoDBService,
DefaultDynamoDBServiceLayer,
} from "@effect-aws/client-dynamodb";
const program = DynamoDBService.putItem(args);
const result = pipe(
program,
Effect.provide(DefaultDynamoDBServiceLayer),
Effect.runPromise,
);
With custom DynamoDBClient instance:
import {
DynamoDBService,
BaseDynamoDBServiceLayer,
DynamoDBClientInstance,
} from "@effect-aws/client-dynamodb";
const program = DynamoDBService.putItem(args);
const DynamoDBClientInstanceLayer = Layer.succeed(
DynamoDBClientInstance,
new DynamoDBClient({ region: "eu-central-1" }),
);
const result = await pipe(
program,
Effect.provide(BaseDynamoDBServiceLayer),
Effect.provide(DynamoDBClientInstanceLayer),
Effect.runPromise,
);
With custom DynamoDBClient configuration:
import {
DynamoDBService,
BaseDynamoDBServiceLayer,
DefaultDynamoDBClientConfigLayer,
DynamoDBClientInstance,
DynamoDBClientInstanceConfig,
} from "@effect-aws/client-dynamodb";
const program = DynamoDBService.putItem(args);
const DynamoDBClientInstanceLayer = Layer.provide(
Layer.effect(
DynamoDBClientInstance,
DynamoDBClientInstanceConfig.pipe(
Effect.map(
(config) => new DynamoDBClient({ ...config, region: "eu-central-1" }),
),
),
),
DefaultDynamoDBClientConfigLayer,
);
const result = await pipe(
program,
Effect.provide(BaseDynamoDBServiceLayer),
Effect.provide(DynamoDBClientInstanceLayer),
Effect.runPromiseExit,
);
or map over DefaultDynamoDBClientConfigLayer
layer context and update the configuration...