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

@@ -0,0 +1,45 @@
const moment = require("moment");
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")],
},
];
function ChangeOfRuleSet({
prevDateMoment = moment(),
newDateMoment = moment(),
}) {
const prevRuleSet = RuleSets.find(
(r) =>
prevDateMoment.isSameOrAfter(r.range[0]) &&
prevDateMoment.isSameOrBefore(r.range[1])
);
const newRuleSet = RuleSets.find(
(r) =>
newDateMoment.isSameOrAfter(r.range[0]) &&
newDateMoment.isSameOrBefore(r.range[1])
);
return prevRuleSet?.title !== newRuleSet?.title;
}
function WhichRulesetToApply(close_date) {
const DateMoment = moment(close_date);
const newRuleSet = RuleSets.find(
(r) =>
DateMoment.isSameOrAfter(r.range[0]) &&
DateMoment.isSameOrBefore(r.range[1])
);
console.log("Using ruleset:", newRuleSet);
return newRuleSet?.title;
}
exports.WhichRulesetToApply = WhichRulesetToApply;