node-jet v3.0.14
About
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:
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:
6 months ago
6 months ago
7 months ago
7 months ago
8 months ago
8 months ago
5 months ago
8 months ago
12 months ago
8 months ago
11 months ago
9 months ago
8 months ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago