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

Function buildRule

codebase/sources/dhtmlxscheduler.es.js:18001–18030  ·  view source on GitHub ↗
(s, options)

Source from the content-addressed store, hash-verified

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

Callers 1

rrulestrFunction · 0.70

Calls 2

parseInputFunction · 0.70
groomRruleOptionsFunction · 0.70

Tested by

no test coverage detected