postal.preserve

0.2.0 • Public • Published

postal.preserve

v0.1.0

The API is still fluctuating. Expect changes.

What Is It?

This is an add-on for postal.js that provides message "durability" features. If a message is published with a preserve header value set to true, it will be preserved so that future subscribers that match the channel and topic will receive it if they call enlistPreserved() to opt into receiving preserved messages.

Usage

To publish a message that should be preserved, you need add the proper header(s) to the envelope:

var ui = postal.channel("ui");
ui.publish({
	topic: "something.happened",
	data: {
		foo: 'bar'
	},
	headers: {
		preserve: true,
		expires: new Date("2020-05-15T04:45:00.000Z");
	}
});

You can see in the above example that you may optionally provide an expires header that is a valid JavaScript Date instance. Any time a new subscriber opts in to preserved messages, expired messages are purged first, before the new subscriber receives anything.

To opt into receiving preserved messages:

var sub = ui.subscribe("something.happened", function (data, envelope) {
	// do stuff with data, etc.
}).enlistPreserved();

Building

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.2.0
    2
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.2.0
    2

Package Sidebar

Install

npm i postal.preserve

Weekly Downloads

2

Version

0.2.0

License

none

Last publish

Collaborators

  • ifandelse