1.5.0 • Published 9 months ago
@effect-aws/client-lambda v1.5.0
@effect-aws/client-lambda
Installation
npm install --save @effect-aws/client-lambda
Usage
With default LambdaClient instance:
import { LambdaService, DefaultLambdaServiceLayer } from "@effect-aws/client-lambda";
const program = LambdaService.invoke(args);
const result = pipe(
program,
Effect.provide(DefaultLambdaServiceLayer),
Effect.runPromise,
);
With custom LambdaClient instance:
import {
LambdaService,
BaseLambdaServiceLayer,
LambdaClientInstance,
} from "@effect-aws/client-lambda";
const program = LambdaService.invoke(args);
const LambdaClientInstanceLayer = Layer.succeed(
LambdaClientInstance,
new LambdaClient({ region: "eu-central-1" }),
);
const result = await pipe(
program,
Effect.provide(BaseLambdaServiceLayer),
Effect.provide(LambdaClientInstanceLayer),
Effect.runPromise,
);
With custom LambdaClient configuration:
import {
LambdaService,
BaseLambdaServiceLayer,
DefaultLambdaClientConfigLayer,
LambdaClientInstance,
LambdaClientInstanceConfig,
} from "@effect-aws/client-lambda";
const program = LambdaService.invoke(args);
const LambdaClientInstanceLayer = Layer.provide(
Layer.effect(
LambdaClientInstance,
LambdaClientInstanceConfig.pipe(
Effect.map(
(config) => new LambdaClient({ ...config, region: "eu-central-1" }),
),
),
),
DefaultLambdaClientConfigLayer,
);
const result = await pipe(
program,
Effect.provide(BaseLambdaServiceLayer),
Effect.provide(LambdaClientInstanceLayer),
Effect.runPromiseExit,
);
or map over DefaultLambdaClientConfigLayer
layer context and update the configuration...