()
| 57 | } |
| 58 | |
| 59 | range(): string[] { |
| 60 | let start = this.start |
| 61 | let period = this.period |
| 62 | let end = this.end |
| 63 | let offset = this.offset |
| 64 | let startDate: Date |
| 65 | let endDate: Date |
| 66 | let startRange: number |
| 67 | let endRange: number |
| 68 | if (start && end) { |
| 69 | startDate = new Date(start) |
| 70 | startRange = this.freqType(startDate, this.freq) |
| 71 | endDate = new Date(end) |
| 72 | endRange = this.freqType(endDate, this.freq) |
| 73 | |
| 74 | let startYear = startDate.getFullYear() |
| 75 | let endYear = endDate.getFullYear() |
| 76 | if ((startYear <= endYear) && (startDate.getMonth() !== endDate.getMonth())){ |
| 77 | if (this.freq == "M") { |
| 78 | endRange = this.monthEnd(startDate, endDate) |
| 79 | } |
| 80 | else if (this.freq === "D") { |
| 81 | endRange = this.dayEnd(startDate, endDate) - startRange |
| 82 | } |
| 83 | } |
| 84 | let rangeArray = utils.range(startRange, endRange) |
| 85 | if ( offset ) { |
| 86 | rangeArray = this.offsetCount(rangeArray, offset) |
| 87 | } |
| 88 | let dateRange = rangeArray.map((x) => { |
| 89 | return this.setDateProps(startDate, this.freq, x) |
| 90 | }) |
| 91 | dateRange[dateRange.length -1] = endDate |
| 92 | let dateString = this.toLocalString(dateRange) |
| 93 | return dateString |
| 94 | } |
| 95 | else if ( start && !(end) ) { |
| 96 | startDate = new Date(start) |
| 97 | startRange = this.freqType(startDate, this.freq) |
| 98 | period = period as number |
| 99 | endRange = offset ? ((period * offset) - 1) : period -1; |
| 100 | |
| 101 | if ( startRange > endRange ) { |
| 102 | endRange = endRange + startRange |
| 103 | } |
| 104 | let rangeArray = utils.range(startRange, endRange) |
| 105 | |
| 106 | if ( offset ) { |
| 107 | rangeArray = this.offsetCount(rangeArray, offset) |
| 108 | } |
| 109 | let dateRange = rangeArray.map((x) => { |
| 110 | return this.setDateProps(startDate, this.freq, x) |
| 111 | }) |
| 112 | |
| 113 | let dateString = this.toLocalString(dateRange) |
| 114 | return dateString |
| 115 | } |
| 116 | // if end and not start given |
no test coverage detected