XEP-0115 entity capabilities for node-xmpp
$ npm install node-xmpp-caps
var caps = require('node-xmpp-caps');
var c = new caps.Caps('http://code.google.com/p/exodus');
c.addIdentity('client', 'pc', 'Exodus 0.9.1');
c.addFeature('http://jabber.org/protocol/caps');
c.addFeature('http://jabber.org/protocol/disco#info');
c.addFeature('http://jabber.org/protocol/disco#items');
c.addFeature('http://jabber.org/protocol/muc');
// creates an ltx.Element instance containing this:
//
// <c xmlns='http://jabber.org/protocol/caps'
// hash='sha-1'
// node='http://code.google.com/p/exodus'
// ver='QgayPKawpkPSDYmwT/WM94uAlu0='/>
//
c.toCapsNode();
var caps = require('node-xmpp-caps');
var c = new caps.Caps('http://code.google.com/p/exodus');
c.addIdentity('client', 'pc', 'Exodus 0.9.1');
c.addFeature('http://jabber.org/protocol/caps');
c.addFeature('http://jabber.org/protocol/disco#info');
c.addFeature('http://jabber.org/protocol/disco#items');
c.addFeature('http://jabber.org/protocol/muc');
// creates an ltx.Element instance containing this:
//
// <query xmlns='http://jabber.org/protocol/disco#info'
// node='http://code.google.com/p/exodus#QgayPKawpkPSDYmwT/WM94uAlu0='>
// <identity category='client' name='Exodus 0.9.1' type='pc'/>
// <feature var='http://jabber.org/protocol/caps'/>
// <feature var='http://jabber.org/protocol/disco#info'/>
// <feature var='http://jabber.org/protocol/disco#items'/>
// <feature var='http://jabber.org/protocol/muc'/>
// </query>
//
c.toQueryNode();
var c = caps.fromQueryNode(queryNode);
We're happy to get contributions. If you do so, please submit a PR which has running tests in it and make sure jshint doesn't complain :).
Thanks!
MIT - See LICENSE