Updates for dynamic ruleset choices.

This commit is contained in:
Patrick Fic
2023-02-09 12:52:57 -08:00
parent 7e12247f8b
commit 1f0bcf5611
8 changed files with 147 additions and 39 deletions

View File

@@ -1,27 +1,21 @@
import moment from "moment";
export const DateFormat = "MM/DD/yyyy";
const RuleSets = [
{
title: "V1",
range: [moment("2010-01-01"), moment("2023-04-01")],
},
{
title: "V2",
range: [moment("2023-04-01"), moment("2040-01-01")],
},
];
export function ChangeOfRuleSet({
prevDateMoment = moment(),
newDateMoment = moment(),
}) {
console.log("🚀 ~ file: constants.js ~ line 9 ~ newDateMoment", newDateMoment)
console.log("🚀 ~ file: constants.js ~ line 9 ~ prevDateMoment", prevDateMoment)
//Define the rule periods.
const V1 = {
title: "V1",
range: [moment("2010-01-01"), moment("2023-04-01")],
};
const V2 = {
title: "V2",
range: [moment("2023-04-01"), moment("2040-01-01")],
}; //Arbitrarily long away date.
const RuleSets = [V1, V2];
const prevRuleSet = RuleSets.find(
(r) =>
prevDateMoment.isSameOrAfter(r.range[0]) &&
@@ -36,3 +30,13 @@ export function ChangeOfRuleSet({
return prevRuleSet?.title !== newRuleSet?.title;
}
export function WhichRulesetToApply({ DateMoment = moment() }) {
const newRuleSet = RuleSets.find(
(r) =>
DateMoment.isSameOrAfter(r.range[0]) &&
DateMoment.isSameOrBefore(r.range[1])
);
return newRuleSet?.title;
}