@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
JavaScript
;
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));
}