46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
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;
|