lib/expression.js
function CronExpression (fields, options) {
  this._options = options;
  this._utc = options.utc || false;
  this._tz = this._utc ? 'UTC' : options.tz;
  this._currentDate = new CronDate(options.currentDate, this._tz);
  this._startDate = options.startDate ? new CronDate(options.startDate, this._tz) : null;
  this._endDate = options.endDate ? new CronDate(options.endDate, this._tz) : null;
  this._fields = fields;
  this._isIterator = options.iterator || false;
  this._hasIterated = false;
  this._nthDayOfWeek = options.nthDayOfWeek || 0;
}
function CronExpression (fields, options) {
  this._options = options;
  this._utc = options.utc || false;
  this._tz = this._utc ? 'UTC' : options.tz;
  this._currentDate = new CronDate(options.currentDate, this._tz);
  this._startDate = options.startDate ? new CronDate(options.startDate, this._tz) : null;
  this._endDate = options.endDate ? new CronDate(options.endDate, this._tz) : null;
  this._fields = fields;
  this._isIterator = options.iterator || false;
  this._hasIterated = false;
  this._nthDayOfWeek = options.nthDayOfWeek || 0;
}
function CronExpression ( fields , options ) { this . _options = options ; this . _utc = options . utc || false ; this . _tz = this . _utc ? 'UTC' : options . tz ; this . _currentDate = new CronDate ( options . currentDate , this . _tz ) ; this . _startDate = options . startDate ? new CronDate ( options . startDate , this . _tz ) : null ; this . _endDate = options . endDate ? new CronDate ( options . endDate , this . _tz ) : null ; this . _fields = fields ; this . _isIterator = options . iterator || false ; this . _hasIterated = false ; this . _nthDayOfWeek = options . nthDayOfWeek || 0 ; }
Construct a new expression parser

Options:
currentDate: iterator start date
endDate: iterator end date

@constructor
@private
@param {Object} fields  Expression fields parsed values
@param {Object} options Parser options
Construct a new expression parser