code: function() {
        var res = Object.create(null);
        res.freq = this.freq;
  
        if (this.count) {
          res.count = this.count;
        }
  
        if (this.interval > 1) {
          res.interval = this.interval;
        }
  
        for (var k in this.parts) {
          /* istanbul ignore if */
          if (!this.parts.hasOwnProperty(k)) {
            continue;
          }
          var kparts = this.parts[k];
          if (Array.isArray(kparts) && kparts.length == 1) {
            res[k.toLowerCase()] = kparts[0];
          } else {
            res[k.toLowerCase()] = ICAL.helpers.clone(this.parts[k]);
          }
        }
  
        if (this.until) {
          res.until = this.until.toString();
        }
        if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {
          res.wkst = ICAL.Recur.numericDayToIcalDay(this.wkst);
        }
        return res;
      }
docs: The jCal representation of this recurrence type.
  @return {Object}