UNPKG

@git-temporal/git-temporal-react

Version:

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

41 lines (40 loc) 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const reselect_1 = require("reselect"); const stateVars_1 = require("app/selectors/stateVars"); exports.getDefaultedStartDate = reselect_1.createSelector(stateVars_1.getStartDate, stateVars_1.getEarliestCommitDate, stateVars_1.getCommits, defaultStartDate); function defaultStartDate(startDate, earliestCommitDate, commits) { return (startDate || earliestCommitDate || (commits && commits.length > 0 && commits[commits.length - 1].authorDate) || 0); } exports.defaultStartDate = defaultStartDate; exports.getDefaultedEndDate = reselect_1.createSelector(stateVars_1.getEndDate, stateVars_1.getLatestCommitDate, stateVars_1.getCommits, defaultEndDate); function defaultEndDate(endDate, latestCommitDate, commits) { return (endDate || latestCommitDate || (commits && commits.length > 0 && commits[0].authorDate) || Math.floor(new Date() / 1000)); } exports.defaultEndDate = defaultEndDate; exports.hasDates = (startDate, endDate) => { return startDate || endDate; }; exports.commitsMatchDates = (commit, startDate, endDate) => { if (!exports.hasDates(startDate, endDate)) { return true; } const commits = Array.isArray(commit) ? commit : [commit]; return commits.some(commit => isWithinDates(commit, startDate, endDate)); }; function dateFilteredCommits(commits, startDate, endDate) { if (!commits) { return null; } return commits.filter(commit => isWithinDates(commit, startDate, endDate)); } exports.dateFilteredCommits = dateFilteredCommits; function isWithinDates(commit, startDate, endDate) { return (startDate <= commit.authorDate && (!endDate || commit.authorDate <= endDate)); }