MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / buildRule

Function buildRule

codebase/sources/dhtmlxscheduler.js:18005–18034  ·  view source on GitHub ↗
(s, options)

Source from the content-addressed store, hash-verified

18003 return { dtstart, tzid, rrulevals, rdatevals, exrulevals, exdatevals };
18004 }
18005 function buildRule(s, options) {
18006 var _a = parseInput(s, options), rrulevals = _a.rrulevals, rdatevals = _a.rdatevals, exrulevals = _a.exrulevals, exdatevals = _a.exdatevals, dtstart = _a.dtstart, tzid = _a.tzid;
18007 var noCache = options.cache === false;
18008 if (options.compatible) {
18009 options.forceset = true;
18010 options.unfold = true;
18011 }
18012 if (options.forceset || rrulevals.length > 1 || rdatevals.length || exrulevals.length || exdatevals.length) {
18013 var rset_1 = new RRuleSet(noCache);
18014 rset_1.dtstart(dtstart);
18015 rset_1.tzid(tzid || void 0);
18016 rrulevals.forEach(function(val2) {
18017 rset_1.rrule(new RRule(groomRruleOptions(val2, dtstart, tzid), noCache));
18018 });
18019 rdatevals.forEach(function(date) {
18020 rset_1.rdate(date);
18021 });
18022 exrulevals.forEach(function(val2) {
18023 rset_1.exrule(new RRule(groomRruleOptions(val2, dtstart, tzid), noCache));
18024 });
18025 exdatevals.forEach(function(date) {
18026 rset_1.exdate(date);
18027 });
18028 if (options.compatible && options.dtstart)
18029 rset_1.rdate(dtstart);
18030 return rset_1;
18031 }
18032 var val = rrulevals[0] || {};
18033 return new RRule(groomRruleOptions(val, val.dtstart || options.dtstart || dtstart, val.tzid || options.tzid || tzid), noCache);
18034 }
18035 function rrulestr(s, options) {
18036 if (options === void 0) {
18037 options = {};

Callers 1

rrulestrFunction · 0.70

Calls 2

parseInputFunction · 0.70
groomRruleOptionsFunction · 0.70

Tested by

no test coverage detected