socketsaurus_js_client
v0.1.1
Published
JavaScript client for Socketsaurus
Downloads
2
Maintainers
Readme
Socketsaurus Client (JS)
NPM
npm install socketsaurus_js_client
Usage
First call Socketsaurus with a base URI you will be connecting to. It will return a function which you can use to listen to various collections.
var socket = socketsaurus('http://localhost:3000');
If you need to pass handshake attributes (for auth) you can do so here.
var socket = socketsaurus('http://localhost:3000', {
token: 'a5079cc66918f780d51ce0035ebe24d9',
signature: '810d917029606be28cb30ab8f00e6202'
});
Events
You can now create some references to collections in MongoDb.
var ref = socket('customers');
ref.on('error', function(err) {
console.log(err);
});
// recieves entire document
ref.on('created', function(doc) {
console.log(doc);
});
// doc only has _id
ref.on('removed', function(doc) {
console.log(doc._id);
});
// document contains modified attributes
ref.on('modified', function(doc) {
console.log(doc);
});
// `doc` is the document containing modifications
// `mod` is just the portion of the document that was modified
ref.on('modification', function(data) {
console.log(data.doc);
console.log(data.mod);
});
// only listens to 'created' once
ref.once('created', function(doc) {
console.log(doc);
});
Additional Methods
You can take any reference and drill into any attribute. This will result in a new reference object.
var carsRef = socket('cars'); // listening to cars
var locationRef = carsRef.child('location'); // listening to cars.location
var latRef = locationRef.child('lat'); // listening to cars.location.lat
var latRef2 = carsRef.child('location.lat'); // same result as `latRef` - cars.location.lat
You can also move back to root. This will result in a new reference object.
var latRef = socket('cars.location.lat'); // listening to cars.location.lat
var carsRef = latRef.root(); // listening to cars
If you need to filter inbound events, then you can add conditionals to check against.
userRef.conditionals({
first_name: 'tim',
state: {
online: true
}
});
// appends conditionals to existing
userRef.conditionals({
last_name: 'marshall'
});
// clears all conditionals
userRef.clearConditionals();
If you need to remove listeners for an event:
ref.off('created', func);
or
ref.off('created')
You may pass the original function to prevent the event from triggering, or pass no function and remove all functions associated to that event.
Lint
To lint the code, first npm install
the dev dependencies, and then run grunt lint
.