1.0.0 • Published 8 months ago

@effect-aws/client-kinesis v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

@effect-aws/client-kinesis

npm version npm downloads

Installation

npm install --save @effect-aws/client-kinesis

Usage

With default KinesisClient instance:

import { KinesisService, DefaultKinesisServiceLayer } from "@effect-aws/client-kinesis";

const program = KinesisService.putRecord(args);

const result = pipe(
  program,
  Effect.provide(DefaultKinesisServiceLayer),
  Effect.runPromise,
);

With custom KinesisClient instance:

import {
  KinesisService,
  BaseKinesisServiceLayer,
  KinesisClientInstance,
} from "@effect-aws/client-kinesis";

const program = KinesisService.putRecord(args);

const KinesisClientInstanceLayer = Layer.succeed(
  KinesisClientInstance,
  new KinesisClient({ region: "eu-central-1" }),
);

const result = await pipe(
  program,
  Effect.provide(BaseKinesisServiceLayer),
  Effect.provide(KinesisClientInstanceLayer),
  Effect.runPromise,
);

With custom KinesisClient configuration:

import {
  KinesisService,
  BaseKinesisServiceLayer,
  DefaultKinesisClientConfigLayer,
  KinesisClientInstance,
  KinesisClientInstanceConfig,
} from "@effect-aws/client-kinesis";

const program = KinesisService.putRecord(args);

const KinesisClientInstanceLayer = Layer.provide(
  Layer.effect(
    KinesisClientInstance,
    KinesisClientInstanceConfig.pipe(
      Effect.map(
        (config) => new KinesisClient({ ...config, region: "eu-central-1" }),
      ),
    ),
  ),
  DefaultKinesisClientConfigLayer,
);

const result = await pipe(
  program,
  Effect.provide(BaseKinesisServiceLayer),
  Effect.provide(KinesisClientInstanceLayer),
  Effect.runPromiseExit,
);

or map over DefaultKinesisClientConfigLayer layer context and update the configuration...

1.0.0

8 months ago