Code coverage report for socket.io-client/lib/index.js

Statements: 95.83% (23 / 24)      Branches: 66.67% (8 / 12)      Functions: 100% (1 / 1)      Lines: 95.65% (22 / 23)      Ignored: none     

All files » socket.io-client/lib/ » index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89          1 1 1           1           1                             1 1   1 1 1   1     1 1 1     1                 1 1 1                 1                 1               1 1  
 
/**
 * Module dependencies.
 */
 
var url = require('./url');
var parser = require('socket.io-parser');
var Manager = require('./manager');
 
/**
 * Module exports.
 */
 
module.exports = exports = lookup;
 
/**
 * Managers cache.
 */
 
var cache = exports.managers = {};
 
/**
 * Looks up an existing `Manager` for multiplexing.
 * If the user summons:
 *
 *   `io('http://localhost/a');`
 *   `io('http://localhost/b');`
 *
 * We reuse the existing instance based on same scheme/port/host,
 * and we initialize sockets for each namespace.
 *
 * @api public
 */
 
function lookup(uri, opts){
  opts = opts || {};
 
  var parsed = url(uri);
  var href = parsed.href;
  var io;
 
  Iif (opts.forceNew || false === opts.multiplex) {
    io = Manager(href, opts);
  } else {
    var id = parsed.id;
    Eif (!cache[id]) cache[id] = Manager(href, opts);
    io = cache[id];
  }
 
  return io.socket(parsed.pathname || '/');
}
 
/**
 * Expose standalone client source.
 *
 * @api public
 */
 
Eif ('undefined' == typeof window) {
  var read = require('fs').readFileSync;
  exports.source = read(__dirname + '/../socket.io.js');
}
 
/**
 * Protocol version.
 *
 * @api public
 */
 
exports.protocol = parser.protocol;
 
/**
 * `connect`.
 *
 * @param {String} uri
 * @api public
 */
 
exports.connect = lookup;
 
/**
 * Expose constructors for standalone build.
 *
 * @api public
 */
 
exports.Manager = require('./manager');
exports.Socket = require('./socket');