export function coerceDate()

in packages/timebrush-powerbi/src/dataConversion.ts [125:147]


export function coerceDate(dateValue: any): Date {
    "use strict";
    if (!dateValue) {
        return;
    }

    if (typeof dateValue === "string" && dateValue) {
        dateValue = dateValue.replace(/-/g, "/");
        const parsedDate = moment(dateValue, MOMENT_FORMATS);
        dateValue = parsedDate.toDate();
    }

    // Assume it is just a year
    if (dateValue > 31 && dateValue <= 10000) {
        dateValue = new Date(dateValue, 0);
    } else if (dateValue >= 0 && dateValue <= 31) {
        dateValue = new Date(new Date().getFullYear(), 1, dateValue);
    } else if (typeof dateValue === "number" && (dateValue > 10000 || dateValue < 0)) {
        // Assume epoch
        dateValue = new Date(dateValue);
    }
    return dateValue;
}