eq8

2.0.20 • Public • Published

EQuateJS (eq8js)

npm node David Travis codecov

Contents

Installation

npm install --save eq8

Example

var api = require('eq8')({jwt: {secret: 'secret'}});

var state = {};

api.register({
    actions: [
        {
            name: 'Change State',
            pattern: {
                cmd: 'update'
            },
            handler: function(ctxt, args) {
                state[args.id] = args.value;
            }
        }
    ],
    views: [
        {
                name: 'View State',
                pattern: {
                    uri: '/state/:id'
                },
                handler: function(ctxt, args, done) {
                    done(null, state[args.id]);
                }
        }
    ]
});

// Listen on port 8080
api.listen(8080);

The example above registers an Action that can be triggered via a WebSocket connection - as shown below - to modify the state object.

var WebSocket = require('ws');
var ws = new WebSocket('http://localhost:8080');

ws.on('open', function() {
    ws.send(JSON.stringify({
        cmd: 'update',
        id:'1',
        value: 'foo'
    }));
});

The state for any specific id was also made available via a web interface at http://localhost:8080/state/:id by registering another concept called a View.

$ curl http://localhost:8080/state/1
foo

More Info

This package extends the eq8-api and eq8-core packages with more details and examples available at https://eq8.js.org

/eq8/

    Package Sidebar

    Install

    npm i eq8

    Homepage

    eq8.js.org

    Weekly Downloads

    2

    Version

    2.0.20

    License

    Apache-2.0

    Last publish

    Collaborators

    • bbartolome