(function(name, definition) { /**************** * A tolerant, minimal icalendar parser * (http://tools.ietf.org/html/rfc5545) * * * **************/ if (typeof module !== 'undefined') { module.exports = definition(); } else if (typeof define === 'function' && typeof define.amd === 'object'){ define(definition); } else { this[name] = definition(); } }('ical', function(){ // Unescape Text re RFC 4.3.11 var text = function(t){ t = t || ""; return (t .replace(/\\\,/g, ',') .replace(/\\\;/g, ';') .replace(/\\[nN]/g, '\n') .replace(/\\\\/g, '\\') ) } var parseParams = function(p){ var out = {} for (var i = 0; i 0) { //trimming the leading and perform storeParam name = name.substring(2); return (storeParam(name))(val, params, ctx, stack, line); } return storeParam(name.toLowerCase())(val, params, ctx); }, parseICS : function(str){ var self = this var lines = str.split(/\r?\n/) var ctx = {} var stack = [] for (var i = 0, ii = lines.length, l = lines[0]; i