This package has been deprecated

Author message:

use @xmpp/jid package <https://www.npmjs.com/package/@xmpp/jid>

node-xmpp-jid

2.3.0 • Public • Published

JID

XMPP identifiers (JID) for JavaScript

Travis js-standard-style

JID type local @ domain / resource usage
domain wonderland.net servers and components
bare alice @ wonderland.net users
full alice @ wonderland.net / rabbithole user resource (device)

https://en.wikipedia.org/wiki/XMPP#Decentralization_and_addressing

Usage

var JID = require('jid')
 
/*
 * All return an instance of JID.JID, the new operator is optional.
 */
var addr = new JID('alice@wonderland.net/rabbithole')          // OK
var addr = JID`${'alice'}@${'wonderland.net'}/${'rabbithole'}` // OK, es6 tagged template string
var addr = new JID('alice', 'wonderland.net', 'rabbithole')    // BEST; see section on escaping below
 
addr instanceof JID.JID // true
 
// domain JIDs are created passing the domain as the first argument
var addr = JID('wonderland.net')
 
/*
 * local
 */
addr.local = 'alice'
addr.local      // alice
// same as
addr.setLocal('alice')
addr.getLocal() // alice
 
/*
 * domain
 */
addr.domain = 'wonderland.net'
addr.domain      // wonderland.net
// same as
addr.setDomain('wonderland.net')
addr.getDomain() // wonderland.net
 
/*
 * resource
 */
addr.resource = 'rabbithole'
addr.resource      // rabbithole
// same as
addr.setResource('rabbithole')
addr.getResource() // rabbithole
 
addr.toString() // alice@wonderland.net/rabbithole
addr.bare()     // returns a JID without resource
 
addr.equals(some_jid) // returns true if the two JIDs are equal, false otherwise
// same as
JID.equal(addr, some_jid)
 
JID.is(addr) // returns true if the passed argument is an instance of JID.JID, false otherwise

Escaping

The XEP-0106 defines a method to escape and unescape characters that aren't allowed in the local part of the JID. This library fully implement it but because @ and / are ones of them and used as JID separators, you should always prefer the following syntax

// GOOD
new JID(local, domain, resource)

over

// BAD
new JID(local@domain/resource)

for user input.

References

Deprecated

Readme

Keywords

Package Sidebar

Install

npm i node-xmpp-jid

Weekly Downloads

138

Version

2.3.0

License

MIT

Last publish

Collaborators

  • sonny
  • xmppbot