1.0.0 • Published 8 months ago

@effect-aws/client-mq v1.0.0

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

@effect-aws/client-mq

npm version npm downloads

Installation

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

Usage

With default MqClient instance:

import { MqService, DefaultMqServiceLayer } from "@effect-aws/client-mq";

const program = MqService.listBrokers(args);

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

With custom MqClient instance:

import {
  MqService,
  BaseMqServiceLayer,
  MqClientInstance,
} from "@effect-aws/client-mq";

const program = MqService.listBrokers(args);

const MqClientInstanceLayer = Layer.succeed(
  MqClientInstance,
  new MqClient({ region: "eu-central-1" }),
);

const result = await pipe(
  program,
  Effect.provide(BaseMqServiceLayer),
  Effect.provide(MqClientInstanceLayer),
  Effect.runPromise,
);

With custom MqClient configuration:

import {
  MqService,
  BaseMqServiceLayer,
  DefaultMqClientConfigLayer,
  MqClientInstance,
  MqClientInstanceConfig,
} from "@effect-aws/client-mq";

const program = MqService.listBrokers(args);

const MqClientInstanceLayer = Layer.provide(
  Layer.effect(
    MqClientInstance,
    MqClientInstanceConfig.pipe(
      Effect.map(
        (config) => new MqClient({ ...config, region: "eu-central-1" }),
      ),
    ),
  ),
  DefaultMqClientConfigLayer,
);

const result = await pipe(
  program,
  Effect.provide(BaseMqServiceLayer),
  Effect.provide(MqClientInstanceLayer),
  Effect.runPromiseExit,
);

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

1.0.0

8 months ago