aboutsummaryrefslogtreecommitdiff
path: root/static/types.ts
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2021-10-04 17:40:59 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2021-10-04 17:43:45 +0200
commitc6c65f9e8273a5bc1b2ac1155d66003d2b98591c (patch)
treeda25ccd8af897dbc2671008e06f22d08d1208035 /static/types.ts
parentwork (diff)
downloadcalp-c6c65f9e8273a5bc1b2ac1155d66003d2b98591c.tar.gz
calp-c6c65f9e8273a5bc1b2ac1155d66003d2b98591c.tar.xz
{.js => .ts} on relavant files.
Diffstat (limited to 'static/types.ts')
-rw-r--r--static/types.ts109
1 files changed, 109 insertions, 0 deletions
diff --git a/static/types.ts b/static/types.ts
new file mode 100644
index 00000000..02ae2261
--- /dev/null
+++ b/static/types.ts
@@ -0,0 +1,109 @@
+
+let all_types = [
+ 'text',
+ 'uri',
+ 'binary',
+ 'float', /* Number.type = 'float' */
+ 'integer', /* Number.type = 'integer' */
+ 'date-time', /* Date */
+ 'date', /* Date.dateonly = true */
+ 'duration',
+ 'period',
+ 'utc-offset',
+ 'cal-address',
+ 'recur', /* RRule */
+ 'boolean', /* boolean */
+]
+
+let property_names = [
+ 'calscale', 'method', 'prodid', 'version', 'attach', 'categories',
+ 'class', 'comment', 'description', 'geo', 'location', 'percent-complete',
+ 'priority', 'resources', 'status', 'summary', 'completed', 'dtend', 'due',
+ 'dtstart', 'duration', 'freebusy', 'transp', 'tzid', 'tzname', 'tzoffsetfrom',
+ 'tzoffsetto', 'tzurl', 'attendee', 'contact', 'organizer', 'recurrence-id',
+ 'related-to', 'url', 'uid', 'exdate', 'exrule', 'rdate', 'rrule', 'action',
+ 'repeat', 'trigger', 'created', 'dtstamp', 'last-modified', 'sequence', 'request-status'
+];
+
+
+let valid_fields = {
+ 'VCALENDAR': ['PRODID', 'VERSION', 'CALSCALE', 'METHOD'],
+ 'VEVENT': ['DTSTAMP', 'UID', 'DTSTART', 'CLASS', 'CREATED',
+ 'DESCRIPTION', 'GEO', 'LAST-MODIFIED', 'LOCATION',
+ 'ORGANIZER', 'PRIORITY', 'SEQUENCE', 'STATUS',
+ 'SUMMARY', 'TRANSP', 'URL', 'RECURRENCE-ID',
+ 'RRULE', 'DTEND', 'DURATION', 'ATTACH', 'ATTENDEE',
+ 'CATEGORIES', 'COMMENT', 'CONTACT', 'EXDATE',
+ 'REQUEST-STATUS', 'RELATED-TO', 'RESOURCES', 'RDATE'],
+ 'VTODO': ['DTSTAMP', 'UID', 'CLASS', 'COMPLETED', 'CREATED',
+ 'DESCRIPTION', 'DTSTART', 'GEO', 'LAST-MODIFIED',
+ 'LOCATION', 'ORGANIZER', 'PERCENT-COMPLETE', 'PRIORITY',
+ 'RECURRENCE-ID', 'SEQUENCE', 'STATUS', 'SUMMARY', 'URL',
+ 'RRULE', 'DUE', 'DURATION', 'ATTACH', 'ATTENDEE', 'CATEGORIES',
+ 'COMMENT', 'CONTACT', 'EXDATE', 'REQUEST-STATUS', 'RELATED-TO',
+ 'RESOURCES', 'RDATE',],
+ 'VJOURNAL': ['DTSTAMP', 'UID', 'CLASS', 'CREATED', 'DTSTART', 'LAST-MODIFIED',
+ 'ORGANIZER', 'RECURRENCE-ID', 'SEQUENCE', 'STATUS', 'SUMMARY',
+ 'URL', 'RRULE', 'ATTACH', 'ATTENDEE', 'CATEGORIES', 'COMMENT',
+ 'CONTACT', 'DESCRIPTION', 'EXDATE', 'RELATED-TO', 'RDATE',
+ 'REQUEST-STATUS'],
+ 'VFREEBUSY': ['DTSTAMP', 'UID', 'CONTACT', 'DTSTART', 'DTEND',
+ 'ORGANIZER', 'URL', 'ATTENDEE', 'COMMENT', 'FREEBUSY',
+ 'REQUEST-STATUS'],
+ 'VTIMEZONE': ['TZID', 'LAST-MODIFIED', 'TZURL'],
+ 'VALARM': ['ACTION', 'TRIGGER', 'DURATION', 'REPEAT', 'ATTACH',
+ 'DESCRIPTION', 'SUMMARY', 'ATTENDEE'],
+ 'STANDARD': ['DTSTART', 'TZOFFSETFROM', 'TZOFFSETTO', 'RRULE',
+ 'COMMENT', 'RDATE', 'TZNAME'],
+};
+
+valid_fields['DAYLIGHT'] = valid_fields['STANDARD'];
+
+
+let valid_input_types = {
+ 'ACTION': ['text'], // AUDIO|DISPLAY|EMAIL|*other*
+ 'ATTACH': ['uri', 'binary'],
+ 'ATTENDEE': ['cal-address'],
+ 'CALSCALE': ['text'],
+ 'CATEGORIES': [['text']],
+ 'CLASS': ['text'], // PUBLIC|PRIVATE|CONFIDENTIAL|*other*
+ 'COMMENT': ['text'],
+ 'COMPLETED': ['date-time'],
+ 'CONTACT': ['text'],
+ 'CREATED': ['date-time'],
+ 'DESCRIPTION': ['text'],
+ 'DTEND': ['date', 'date-time'],
+ 'DTSTAMP': ['date-time'],
+ 'DTSTART': ['date', 'date-time'],
+ 'DUE': ['date', 'date-time'],
+ 'DURATION': ['duration'],
+ 'EXDATE': [['date', 'date-time']],
+ 'FREEBUSY': [['period']],
+ 'GEO': ['float'], // pair of floats
+ 'LAST-MODIFIED': ['date-time'],
+ 'LOCATION': ['text'],
+ 'METHOD': ['text'],
+ 'ORGANIZER': ['cal-address'],
+ 'PERCENT-COMPLETE': ['integer'], // 0-100
+ 'PRIORITY': ['integer'], // 0-9
+ 'PRODID': ['text'],
+ 'RDATE': [['date', 'date-time', 'period']],
+ 'RECURRENCE-ID': ['date', 'date-time'],
+ 'RELATED-TO': ['text'],
+ 'REPEAT': ['integer'],
+ 'REQUEST-STATUS': ['text'],
+ 'RESOURCES': [['text']],
+ 'RRULE': ['recur'],
+ 'SEQUENCE': ['integer'],
+ 'STATUS': ['text'], // see 3.8.1.11
+ 'SUMMARY': ['text'],
+ 'TRANSP': ['text'], // OPAQUE|TRANSPARENT
+ 'TRIGGER': ['duration', 'date-time'],
+ 'TZID': ['text'],
+ 'TZNAME': ['text'],
+ 'TZOFFSETFROM': ['utc-offset'],
+ 'TZOFFSETTO': ['utc-offset'],
+ 'TZURL': ['uri'],
+ 'URL': ['uri'],
+ 'VERSION': ['text'],
+}