lib/decider/poller.js
function DecisionPoller(name, domain, options) {
  if (!(this instanceof DecisionPoller)) {
    return new DecisionPoller(name, domain, options);
  }

  if (!_.isString(name)) {
    throw new Error('A `name` is required');
  }

  if (!_.isString(domain)) {
    throw new Error('A `domain` is required');
  }

  this.name = name;
  this.domain = domain;
  this.options = options || {};

  // Make sure taskList is an object of { name: '' }
  if (this.options.taskList && _.isString(this.options.taskList)) {
    this.options.taskList = { name: this.options.taskList };
  }

  // Set default taskList if not defined
  if (!this.options.taskList) {
    this.options.taskList = { name: this.name + '-tasklist' };
  }

  /** @private */
  this._registrations = [];
  this._workflows = [];
  this._poller = undefined;
}
function DecisionPoller(name, domain, options) {
  if (!(this instanceof DecisionPoller)) {
    return new DecisionPoller(name, domain, options);
  }

  if (!_.isString(name)) {
    throw new Error('A `name` is required');
  }

  if (!_.isString(domain)) {
    throw new Error('A `domain` is required');
  }

  this.name = name;
  this.domain = domain;
  this.options = options || {};

  // Make sure taskList is an object of { name: '' }
  if (this.options.taskList && _.isString(this.options.taskList)) {
    this.options.taskList = { name: this.options.taskList };
  }

  // Set default taskList if not defined
  if (!this.options.taskList) {
    this.options.taskList = { name: this.name + '-tasklist' };
  }

  /** @private */
  this._registrations = [];
  this._workflows = [];
  this._poller = undefined;
}
function DecisionPoller ( name , domain , options ) { if ( ! ( this instanceof DecisionPoller ) ) { return new DecisionPoller ( name , domain , options ) ; } if ( ! _ . isString ( name ) ) { throw new Error ( 'A `name` is required' ) ; } if ( ! _ . isString ( domain ) ) { throw new Error ( 'A `domain` is required' ) ; } this . name = name ; this . domain = domain ; this . options = options || { } ; // Make sure taskList is an object of { name: '' } if ( this . options . taskList && _ . isString ( this . options . taskList ) ) { this . options . taskList = { name : this . options . taskList } ; } // Set default taskList if not defined if ( ! this . options . taskList ) { this . options . taskList = { name : this . name + '-tasklist' } ; } /** @private */ this . _registrations = [ ] ; this . _workflows = [ ] ; this . _poller = undefined ; }
Represents a single, named decision poller, where all workflow versions can be created. Tasks will automaticly be
routed to the first workflow that satisfies the version requested. If no valid workflow is found, the task will
be marked as a failure.

@constructor
@param {string} name - The name of the workflow.
@param {string} domain - The AWS SWF domain name to use when listening for decision tasks.
@param {object} [options] - Additional SWF options used when creating and executing this workflow
(taskList, tagList, childPolicy, executionStartToCloseTimeout, taskStartToCloseTimeout)
Represents a single named decision poller where all workflow versions can be created . Tasks will automaticly be routed to the first workflow that satisfies the version requested . If no valid workflow is found the task will be marked as a failure .