function shouldIEmitThisObj(nspString, obj, pubOpts) {
  // Extract all the components which make up a namespace.
  const nspComponents = nspString.split(constants.filterSeperator);
  const absPathNsp = nspComponents[constants.asbPathIndex];
  const absolutePathObj = '/' + obj.absolutePath;

  /*
   * Note: we are using `str1.indexOf(str2) === 0` here instead of the more
   * intuitve `str1.startsWith(str2)` because performance tested better.
   */
  if (absolutePathObj.indexOf(absPathNsp) === 0) {
    return perspectiveEmit(nspComponents, obj);
  }

  if (absPathNsp === botAbsolutePath) {
    return botEmit(nspComponents, obj, pubOpts);
  }

  return false;
}
/**
 * Splits up the nspString into its components and decides if it is a bot or a
 * perspective that needs to be emitted.
 *
 * @param {String} nspString - A namespace string, that identifies a
 *  socketio namespace
 * @param {Object} obj - Object that is to be emitted to the client
 * @param {Object} pubOpts - Options for client and channel to publish with.
 * @returns {Boolean} - true if this obj is to be emitted over this namespace
 *  identified by this namespace string.
 */
Splits up the nspString into its components and decides if it is a bot or a
perspective that needs to be emitted.

@param {String} nspString - A namespace string, that identifies a
socketio namespace
@param {Object} obj - Object that is to be emitted to the client
@param {Object} pubOpts - Options for client and channel to publish with.
@returns {Boolean} - true if this obj is to be emitted over this namespace
identified by this namespace string.
Splits up the nspString into its components and decides if it is a bot or a perspective that needs to be emitted . @param { String } nspString - A namespace string that identifies a socketio namespace @param { Object } obj - Object that is to be emitted to the client @param { Object } pubOpts - Options for client and channel to publish with . @returns { Boolean } - true if this obj is to be emitted over this namespace identified by this namespace string .
function shouldIEmitThisObj(nspString, obj, pubOpts) {
  const nspComponents = nspString.split(constants.filterSeperator);
  const absPathNsp = nspComponents[constants.asbPathIndex];
  const absolutePathObj = '/' + obj.absolutePath;
  if (absolutePathObj.indexOf(absPathNsp) === 0) {
    return perspectiveEmit(nspComponents, obj);
  }
  if (absPathNsp === botAbsolutePath) {
    return botEmit(nspComponents, obj, pubOpts);
  }
  return false;
}
function shouldIEmitThisObj ( nspString , obj , pubOpts ) { const nspComponents = nspString . split ( constants . filterSeperator ) ; const absPathNsp = nspComponents [ constants . asbPathIndex ] ; const absolutePathObj = '/' + obj . absolutePath ; if ( absolutePathObj . indexOf ( absPathNsp ) === 0 ) { return perspectiveEmit ( nspComponents , obj ) ; } if ( absPathNsp === botAbsolutePath ) { return botEmit ( nspComponents , obj , pubOpts ) ; } return false ; }
Splits up the nspString into its components and decides if it is a bot or a
 perspective that needs to be emitted.
Splits up the nspString into its components and decides if it is a bot or a perspective that needs to be emitted .
// Extract all the components which make up a namespace. /*
   * Note: we are using `str1.indexOf(str2) === 0` here instead of the more
   * intuitve `str1.startsWith(str2)` because performance tested better.
   */