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

Function parseInput

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

Source from the content-addressed store, hash-verified

17954}
17955var DEFAULT_OPTIONS = { dtstart: null, cache: false, unfold: false, forceset: false, compatible: false, tzid: null };
17956function parseInput(s, options) {
17957 var rrulevals = [];
17958 var rdatevals = [];
17959 var exrulevals = [];
17960 var exdatevals = [];
17961 var parsedDtstart = parseDtstart(s);
17962 var dtstart = parsedDtstart.dtstart;
17963 var tzid = parsedDtstart.tzid;
17964 var lines = splitIntoLines(s, options.unfold);
17965 lines.forEach(function(line) {
17966 var _a;
17967 if (!line)
17968 return;
17969 var _b = breakDownLine(line), name = _b.name, parms = _b.parms, value = _b.value;
17970 switch (name.toUpperCase()) {
17971 case "RRULE":
17972 if (parms.length) {
17973 throw new Error("unsupported RRULE parm: ".concat(parms.join(",")));
17974 }
17975 rrulevals.push(parseString(line));
17976 break;
17977 case "RDATE":
17978 var _c = (_a = /RDATE(?:;TZID=([^:=]+))?/i.exec(line)) !== null && _a !== void 0 ? _a : [], rdateTzid = _c[1];
17979 if (rdateTzid && !tzid) {
17980 tzid = rdateTzid;
17981 }
17982 rdatevals = rdatevals.concat(parseRDate(value, parms));
17983 break;
17984 case "EXRULE":
17985 if (parms.length) {
17986 throw new Error("unsupported EXRULE parm: ".concat(parms.join(",")));
17987 }
17988 exrulevals.push(parseString(value));
17989 break;
17990 case "EXDATE":
17991 exdatevals = exdatevals.concat(parseRDate(value, parms));
17992 break;
17993 case "DTSTART":
17994 break;
17995 default:
17996 throw new Error("unsupported property: " + name);
17997 }
17998 });
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;

Callers 1

buildRuleFunction · 0.70

Calls 5

parseDtstartFunction · 0.70
splitIntoLinesFunction · 0.70
breakDownLineFunction · 0.70
parseStringFunction · 0.70
parseRDateFunction · 0.70

Tested by

no test coverage detected