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

    Install

    npm i postal.preserve

    DownloadsWeekly Downloads

    2

    Version

    0.2.0

    License

    none

    Last publish

    Collaborators

    • ifandelse