Normalized JS & JSON Message and event Protocol for node.js, vanilla.js (plain old javascript), react.js, websockets, rest api’s, node-ipc, and any other protocol that might use a js object and or a JSON string.

js-message allows for seamless conversion of JSON messages and events to JS objects for a normalized implementation on the server and in the client without needing to concern yourself with JSON intermediaries and custom parsers.

Things are just easier when you normalize them.

npm js-message info : See npm trends and stats for js-message
js-message npm version supported node version for js-message total npm downloads for js-message monthly npm downloads for js-message npm licence for js-message

npm install --save js-message


GitHub info :
js-message GitHub Release GitHub license js-message license open issues for js-message on GitHub

js-message site

method or key type mutable description
type String true the type of message
data Object true the message data or payload
load func false load a message from JSON, this will return a message with the type of error if not valid JSON
JSON String not by user JSON representation of the message

Creating a Message Object

    var Message=require('js-message');
    //plain old javascript
    <script src='js-message-vanilla.js' />

    var myMessage=new Message;
    myMessage.type='message or event type';


Creating a Message From JSON

    var Message=require('js-message');
    //plain old javascript
    <script src='js-message-vanilla.js' />

    //lets say we have the above example running on
    //a websocket server sending js-messages as JSON
    //and lets say this is the client in the browser

        var message=new Message;

        console.log(message.type, message.data);

Sending a Message Object via WebSocket

    var Message=require('js-message');
    //plain old javascript
    <script src='js-message-vanilla.js' />

    //client example, but works the same on server too!
    var ws=new WebSocket('ws://myawesomeWS:8000');

    var myMessage=new Message;
    myMessage.data.username='sideshow bob';


This work is licenced via the MIT Licence