static range()

in sources/src/main/resources/META-INF/resources/view.js [312:349]


    static range(minDuration, maxDuration) {
        console.assert(minDuration instanceof Duration);
        console.assert(minDuration instanceof Duration);

        const steps = [
            // minutes
            60,
            2 * 60,
            5 * 60,
            10 * 60,
            15 * 60,
            30 * 60,

            // hours
            1 * 60 * 60,
            2 * 60 * 60,
            3 * 60 * 60,
            6 * 60 * 60,
            12 * 60 * 60,

            // days
            1 * 24 * 60 * 60,
            7 * 24 * 60 * 60,
            30 * 24 * 60 * 60,
            60 * 24 * 60 * 60,
            90 * 24 * 60 * 60,
            180 * 24 * 60 * 60,
            365 * 24 * 60 * 60
        ];

        const intermediateDurations = steps
            .filter(s => 
                (minDuration === null || s > minDuration.toSeconds()) &&
                (maxDuration === null || s < maxDuration.toSeconds()))
            .map(s => Duration.fromSeconds(s));

        return [minDuration, ...intermediateDurations, maxDuration].filter(d => d !== null);
    }