3.0.14 • Published 5 months ago

node-jet v3.0.14

Weekly downloads
39
License
MIT
Repository
github
Last release
5 months ago

About

Join the chat at https://gitter.im/lipp/node-jet npm version Build Status Code Climate Coverage Status js-standard-style deps

This is Jet for JavaScript. Jet is the hybrid of an In-Memory Database and a Realtime Push-Framework. Node and Browsers are supported (using Browserify).

Synopsis

Start a Daemon:

$ jetd.js

Provide Content:

var jet = require('node-jet');

// connect to daemon
var peer = new jet.Peer({
  url: 'ws://localhost:11123' 
});

// provide methods/factories/services/actions/etc
var greet = new jet.Method('greet');
greet.on('call', function(who) {
  console.log('Hello', who);
});

peer.add(greet);

// provide documents/realtime-status/configuration/etc
var jim = new jet.State('persons/#123', getPerson('#123'));
jim.on('set', function(changedPerson) {
  setPerson('#123', changedPerson);
  // changes are propageted automatically
});

peer.add(jim);

// provide read-only stuff
var nowState = new jet.State('time/now', new Date().getTime());

peer.add(nowState);

// change async
setInterval(function() {
  nowState.value(new Date().getTime());
}, 100);

Consume Content:

// fetch/query content
var youngestPersons = new jet.Fetcher()
  .path('startsWith', 'persons/')
  .sortByKey('age', 'number')
  .ascending()
  .range(1, 20)
  .on('data', function(persons) {
    console.log(persons);
  });

peer.fetch(youngestPersons);

// call methods
peer.call('greet', ['Steve']).then(function(response) {
  console.log(response);
});

// set states
peer.set('person/#123', {name: 'Jose', age: 33});

Tutorial

Read the Todo-App Tutorial (Vanilla JS client) or the React + Redux Variant for building this simple collaborative realtime app:

Jet Todo-App

Install

NPM

$ npm install node-jet

Stand-Alone Daemon

The package provides a stand-alone Jet Daemon which listens on ports 11122 (trivial protocol) and 11123 (WebSockets) per default.

Start it like this (globally):

 $ jetd.js
 

Or - if installed locally:

 $ node_modules/.bin/jetd.js
 

Integrated Daemon

If you want the Jet Daemon to listen for WebSockets on the same port as your existing (node.js) HTTP server, use the daemon.listen({server:httpServer}) method like this:

var httpServer = http.createServer(function(req, res) {
  // serve your stuff
});
httpServer.listen(80);

var daemon = new jet.Daemon();
daemon.listen({
  server: httpServer
});

Radar

Open Radar on jetbus.io, which allows you to see/observe Your Jet States and Methods. Your local Jet Daemon's default WebSocket address is ws://localhost:11123.

Doc

For further info and documentation refer to the Jet Homepage.

Todo-App

There is also the canonical ToDo-App available:

3.0.12

6 months ago

3.0.13

6 months ago

3.0.10

7 months ago

3.0.11

7 months ago

3.0.8

8 months ago

3.0.7

8 months ago

3.0.14

5 months ago

3.0.9

8 months ago

3.0.4

12 months ago

3.0.6

8 months ago

3.0.5

11 months ago

3.0.6-beta

9 months ago

3.0.6-beta.1

8 months ago

3.0.3

1 year ago

3.0.2

1 year ago

3.0.0

1 year ago

3.0.0-beta-6

2 years ago

3.0.0-beta-5

2 years ago

3.0.0-beta-7

2 years ago

3.0.0-beta.1

2 years ago

3.0.0-beta.0

2 years ago

3.0.0-beta.3

2 years ago

3.0.0-beta.2

2 years ago

3.0.0-beta.4

2 years ago

2.1.2

2 years ago

2.1.1

3 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.6.3

4 years ago

1.6.1

4 years ago

1.5.6

6 years ago

1.5.4

6 years ago

1.5.3

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.0

7 years ago

1.3.3

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.0

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.0

9 years ago

0.3.4

9 years ago

0.3.2

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.0

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago

0.0.12

9 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7-2

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago