4.1.0 • Published 2 years ago

amqplib-as-promised v4.1.0

Weekly downloads
288
License
MIT
Repository
github
Last release
2 years ago

amqplib-as-promised

ci npm

This module wrapping amqplib node.js library to provide classic Promise interface (instead of original implementation using Bluebird promises).

Publishing messages in a channel or confirm channel will resolve the promise only if operation will be finished.

Also, AMQP protocol closing channel when any error occurs. (even in case of using checkQueue method, error is emitted and channel is closed, when queue does not exist). That library wrapper automatically reconnects channel and returning error as a Promise reject response.

Requirements

This module requires Node >= 12.

Installation

npm install amqplib-as-promised

Usage

(with async await syntax)

const { Connection } = require('amqplib-as-promised')
const connection = new Connection(AMQP_URL)
await connection.init()
const channel = await connection.createChannel() // or createConfirmChannel
await channel.assertQueue(queueName)
await channel.sendToQueue(queueName, Buffer.from(testMessage))
await channel.close()
await connection.close()

TypeScript version

import { Connection } from 'amqplib-as-promised'
const connection = new Connection(AMQP_URL)
await connection.init()
const channel = await connection.createChannel() // or createConfirmChannel
await channel.assertQueue(queueName)
await channel.sendToQueue(queueName, Buffer.from(testMessage))
await channel.close()
await connection.close()

For proper typing with TypeScript, @types/amqplib in devDependencies is needed. (compatible versions: 0.8.0 < 1)

API

Connection

Methodargumentsreturn typenotes
constructorurl: string options?: amqplib.Options.ConnectConnection
init-Promise\
createChannel-Promise\
createConfirmChannel-Promise\
close-Promise\
waitForClose-Promise\

Channel

Methodargumentsreturn typenotes
checkQueuequeueName: stringPromise\<amqplib.Replies.AssertQueue>
assertQueuequeueName: string options?: amqplib.Options.AssertQueuePromise\<amqplib.Replies.AssertQueue>
deleteQueuequeueName: string options?: amqplib.Options.DeleteQueuePromise\<amqplib.Replies.DeleteQueue>
sendToQueuequeueName: string content: Buffer options?: amqplib.Options.PublishPromise\
bindQueuequeueName: string, source: string, pattern: string, args?: anyPromise\<amqplib.Replies.Empty>
unbindQueuequeueName: string, source: string, pattern: string, args?: anyPromise\<amqplib.Replies.Empty>
assertExchangeexchangeName: string exchangeType: string options?: amqplib.Options.AssertExchangePromise\<amqplib.Replies.AssertExchange>
checkExchangeexchangeName: stringPromise\<amqplib.Replies.Empty>
deleteExchangeexchangeName: string options: amqplib.Options.DeleteExchangePromise\<amqplib.Replies.Empty>
bindExchangedestination: string source: string pattern: string args?: anyPromise\<amqplib.Replies.Empty>
unbindExchangedestination: string source: string pattern: string args?: anyPromise\<amqplib.Replies.Empty>
publishexchange: string queue: string content: Buffer options?: amqplib.Options.PublishPromise\
prefetchcount: number global: booleanPromise\
consumequeueName: string handler: (message: amqplib.Message | null) => any options?: amqplib.Options.ConsumePromise\<amqplib.Replies.Consume>
cancelconsumerTag: stringPromise\<amqplib.Replies.Empty>
getqueueName: string options?: amqplib.Options.GetPromise\<Message | false>
ackmessage: amqplib.Message allUpTo?: booleanvoid
nackmessage: amqplib.Message allUpTo?: boolean requeue?: booleanvoid
close-Promise\

Confirm channel

Methodargumentsreturn typenotes
sendToQueuequeueName: string content: Buffer options?: amqplib.Options.PublishPromise\<amqplib.Replies.Empty>
publishexchange: string queue: string content: Buffer options?: amqplib.Options.PublishPromise\<amqplib.Replies.Empty>
waitForConfirmsexchange: string queue: string content: Buffer options?: amqplib.Options.PublishPromise\

License

Copyright (c) 2019-2022 Piotr Roszatycki piotr.roszatycki@gmail.com

Copyright (c) 2017-2018 Tadeusz Wawszczak

MIT

4.1.0

2 years ago

4.0.0

4 years ago

3.15.3

5 years ago

3.15.2

5 years ago

3.15.1

5 years ago

3.15.0

5 years ago

3.14.0

5 years ago

3.13.0

5 years ago

3.12.0

6 years ago

3.11.0

6 years ago

3.10.0

6 years ago

3.9.0

6 years ago

3.8.0

6 years ago

3.7.2

6 years ago

3.7.1

6 years ago

3.7.0

6 years ago

3.6.3

6 years ago

3.6.2

6 years ago

3.6.1

6 years ago

3.6.0

6 years ago

3.5.0

6 years ago

3.4.2

6 years ago

3.4.0

6 years ago

3.3.0

6 years ago

3.2.0

6 years ago

3.1.1

6 years ago

3.1.0

6 years ago

3.0.0

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.1.0

6 years ago

1.0.0

7 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.0

7 years ago