public addDate()

in src/granularity/granularityBase.ts [212:237]


    public addDate(date: Date): void {
        const datePeriods: ITimelineDatePeriod[] = this.getDatePeriods();
        const lastDatePeriod: ITimelineDatePeriod = datePeriods[datePeriods.length - 1];
        const identifierArray: (string | number)[] = this.splitDate(date);

        if (datePeriods.length === 0
            || !Utils.IS_ARRAYS_EQUAL(lastDatePeriod.identifierArray, identifierArray)) {

            if (datePeriods.length > 0) {
                lastDatePeriod.endDate = date;
            }

            datePeriods.push({
                endDate: date,
                fraction: GranularityBase.DefaultFraction,
                identifierArray,
                index: datePeriods.length,
                startDate: date,
                week: this.calendar.determineWeek(date),
                year: this.calendar.determineYear(date),
            });
        }
        else {
            lastDatePeriod.endDate = date;
        }
    }