code: function parseSequence (val) {
      var stack = [];
  
      function handleResult (result) {
        var max = stack.length > 0 ? Math.max.apply(Math, stack) : -1;
  
        if (result instanceof Array) { // Make sequence linear
          for (var i = 0, c = result.length; i < c; i++) {
            var value = result[i];
  
            // Check constraints
            if (value < constraints[0] || value > constraints[1]) {
              throw new Error(
                  'Constraint error, got value ' + value + ' expected range ' +
                  constraints[0] + '-' + constraints[1]
              );
            }
  
            if (value > max) {
              stack.push(value);
            }
  
            max = Math.max.apply(Math, stack);
          }
        } else { // Scalar value
          result = +result;
  
          // Check constraints
          if (result < constraints[0] || result > constraints[1]) {
            throw new Error(
              'Constraint error, got value ' + result + ' expected range ' +
              constraints[0] + '-' + constraints[1]
            );
          }
  
          if (field == 'dayOfWeek') {
            result = result % 7;
          }
  
          stack.push(result);
        }
      }
  
      var atoms = val.split(',');
      if (atoms.length > 1) {
        for (var i = 0, c = atoms.length; i < c; i++) {
          handleResult(parseRepeat(atoms[i]));
        }
      } else {
        handleResult(parseRepeat(val));
      }
  
      stack.sort(function(a, b) {
        return a - b;
      });
  
      return stack;
    }
docs: Inline parsing functions  Parser path: - parseSequence - parseRepeat - parseRange 
  Parse sequence
  
  @param {String} val
  @return {Array}
  @private