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

Readme

Keywords

Package Sidebar

Install

npm i eq8

Homepage

eq8.js.org

Weekly Downloads

6

Version

2.0.20

License

Apache-2.0

Last publish

Collaborators

  • bbartolome