(rrule, gettext, language, dateFormatter)
| 16006 | }; |
| 16007 | var ToText = function() { |
| 16008 | function ToText2(rrule, gettext, language, dateFormatter) { |
| 16009 | if (gettext === void 0) { |
| 16010 | gettext = defaultGetText; |
| 16011 | } |
| 16012 | if (language === void 0) { |
| 16013 | language = ENGLISH; |
| 16014 | } |
| 16015 | if (dateFormatter === void 0) { |
| 16016 | dateFormatter = defaultDateFormatter; |
| 16017 | } |
| 16018 | this.text = []; |
| 16019 | this.language = language || ENGLISH; |
| 16020 | this.gettext = gettext; |
| 16021 | this.dateFormatter = dateFormatter; |
| 16022 | this.rrule = rrule; |
| 16023 | this.options = rrule.options; |
| 16024 | this.origOptions = rrule.origOptions; |
| 16025 | if (this.origOptions.bymonthday) { |
| 16026 | var bymonthday = [].concat(this.options.bymonthday); |
| 16027 | var bynmonthday = [].concat(this.options.bynmonthday); |
| 16028 | bymonthday.sort(function(a, b) { |
| 16029 | return a - b; |
| 16030 | }); |
| 16031 | bynmonthday.sort(function(a, b) { |
| 16032 | return b - a; |
| 16033 | }); |
| 16034 | this.bymonthday = bymonthday.concat(bynmonthday); |
| 16035 | if (!this.bymonthday.length) |
| 16036 | this.bymonthday = null; |
| 16037 | } |
| 16038 | if (isPresent(this.origOptions.byweekday)) { |
| 16039 | var byweekday = !isArray(this.origOptions.byweekday) ? [this.origOptions.byweekday] : this.origOptions.byweekday; |
| 16040 | var days = String(byweekday); |
| 16041 | this.byweekday = { allWeeks: byweekday.filter(function(weekday) { |
| 16042 | return !weekday.n; |
| 16043 | }), someWeeks: byweekday.filter(function(weekday) { |
| 16044 | return Boolean(weekday.n); |
| 16045 | }), isWeekdays: days.indexOf("MO") !== -1 && days.indexOf("TU") !== -1 && days.indexOf("WE") !== -1 && days.indexOf("TH") !== -1 && days.indexOf("FR") !== -1 && days.indexOf("SA") === -1 && days.indexOf("SU") === -1, isEveryDay: days.indexOf("MO") !== -1 && days.indexOf("TU") !== -1 && days.indexOf("WE") !== -1 && days.indexOf("TH") !== -1 && days.indexOf("FR") !== -1 && days.indexOf("SA") !== -1 && days.indexOf("SU") !== -1 }; |
| 16046 | var sortWeekDays = function(a, b) { |
| 16047 | return a.weekday - b.weekday; |
| 16048 | }; |
| 16049 | this.byweekday.allWeeks.sort(sortWeekDays); |
| 16050 | this.byweekday.someWeeks.sort(sortWeekDays); |
| 16051 | if (!this.byweekday.allWeeks.length) |
| 16052 | this.byweekday.allWeeks = null; |
| 16053 | if (!this.byweekday.someWeeks.length) |
| 16054 | this.byweekday.someWeeks = null; |
| 16055 | } else { |
| 16056 | this.byweekday = null; |
| 16057 | } |
| 16058 | } |
| 16059 | ToText2.isFullyConvertible = function(rrule) { |
| 16060 | var canConvert = true; |
| 16061 | if (!(rrule.options.freq in ToText2.IMPLEMENTED)) |
nothing calls this directly
no test coverage detected