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

Function parseInput

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

Source from the content-addressed store, hash-verified

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

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