text: import { Meteor } from 'meteor/meteor';
  import _ from 'underscore';
  
  import { Users } from '../../app/models';
  
  Meteor.publish('userAutocomplete', function(selector) {
  	if (!this.userId) {
  		return this.ready();
  	}
  
  	if (!_.isObject(selector)) {
  		return this.ready();
  	}
  
  	const options = {
  		fields: {
  			name: 1,
  			username: 1,
  			status: 1,
  		},
  		sort: {
  			username: 1,
  		},
  		limit: 10,
  	};
  
  	const pub = this;
  	const exceptions = selector.exceptions || [];
  
  	const cursorHandle = Users.findActiveByUsernameOrNameRegexWithExceptions(selector.term, exceptions, options).observeChanges({
  		added(_id, record) {
  			return pub.added('autocompleteRecords', _id, record);
  		},
  		changed(_id, record) {
  			return pub.changed('autocompleteRecords', _id, record);
  		},
  		removed(_id, record) {
  			return pub.removed('autocompleteRecords', _id, record);
  		},
  	});
  
  	this.ready();
  
  	this.onStop(function() {
  		return cursorHandle.stop();
  	});
  });
  