Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
amp-message
Advanced tools
The amp-message npm package is used for encoding and decoding messages in the Advanced Message Queuing Protocol (AMQP) format. It is particularly useful for applications that need to communicate over message queues, providing a simple and efficient way to handle message serialization and deserialization.
Encoding Messages
This feature allows you to encode an array of strings into a buffer that can be sent over a message queue. The `amp.Message` constructor takes an array of strings and the `toBuffer` method converts it into a buffer.
const amp = require('amp-message');
const msg = new amp.Message(['Hello', 'World']);
const buf = msg.toBuffer();
console.log(buf);
Decoding Messages
This feature allows you to decode a buffer back into its original message format. The `amp.Message` constructor can also take a buffer, and the `args` property will contain the decoded message.
const amp = require('amp-message');
const buf = Buffer.from([0, 1, 2, 3, 4, 5]);
const msg = new amp.Message(buf);
console.log(msg.args);
The amqplib package is a client for RabbitMQ and other AMQP brokers. It provides more comprehensive functionality for interacting with AMQP servers, including message encoding/decoding, but also connection management, channel management, and more. It is more feature-rich compared to amp-message, which focuses solely on message encoding and decoding.
The rhea package is a more general AMQP 1.0 client that supports a wide range of AMQP features, including message encoding/decoding, connection handling, and link management. It is more versatile and supports more advanced AMQP features compared to amp-message.
High level AMP Message
implementation for manipulating, encoding and decoding AMP messages.
$ npm install amp-message
Encoding a message:
var Message = require('amp-message');
var msg = new Message;
console.log(msg.toBuffer());
// => <Buffer 10>
msg.push('foo');
msg.push('bar');
msg.push('baz');
console.log(msg.toBuffer());
// => <Buffer 13 00 05 73 3a 66 6f 6f 00 05 73 3a 62 61 72 00 05 73 3a 62 61 7a>
msg.push({ foo: 'bar' });
console.log(msg.toBuffer());
// => <Buffer 14 00 05 73 3a 66 6f 6f 00 05 73 3a 62 61 72 00 05 73 3a 62 61 7a 00 0f 6a 3a 7b 22 66 6f 6f 22 3a 22 62 61 72 22 7d>
msg.push(new Buffer('image data'));
console.log(msg.toBuffer());
// => <Buffer 15 00 05 73 3a 66 6f 6f 00 05 73 3a 62 61 72 00 05 73 3a 62 61 7a 00 0f 6a 3a 7b 22 66 6f 6f 22 3a 22 62 61 72 22 7d 00 0a 69 6d 61 67 65 20 64 61 74 ... >
Decoding a message:
var Message = require('..');
var msg = new Message;
msg.push('foo')
msg.push({ hello: 'world' })
msg.push(new Buffer('hello'))
var other = new Message(msg.toBuffer());
console.log(other.shift());
console.log(other.shift());
console.log(other.shift());
Initialize an empty message.
Decode the buffer
AMP message to populate the Message
.
Initialize a messeage populated with args
.
MIT
FAQs
Higher level Message object for the AMP protocol
The npm package amp-message receives a total of 822,241 weekly downloads. As such, amp-message popularity was classified as popular.
We found that amp-message demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.