@node types @subsection types.js Collection of type information for calendar data. @defvar all_types Name of all valid icalendar types. text, uri, binary, float, integer, date-time, date, duration, period, utc-offset, cal-address, recur, boolean, @end defvar @deftp {Data Type} ical_type The union of all elements in @var{all_types}. @end deftp @defvar property_names All known names properties (top level keys) can have. Such as ``calscale'', ``dtstart'', ... @end defvar @deftypevar {Map} valid_fields Which property fields each component can hold. @verbatim { 'VCALENDAR': ['PRODID', 'VERSION', 'CALSCALE', 'METHOD'], ... } @end verbatim @end deftypevar @deftypevar {Map>} valid_input_types Which types are valid to store under each property. If multiple values are an option for that property, then the list of possibilities will contain a sub-list (see example). @verbatim { 'DTSTART': ['date', 'date-time'], 'CATEGORIES': [['text']], ... } @end verbatim @end deftypevar @deftp {Data Type} tagname Alias of (@code{'vevent'} | @code{'string'}). @end deftp @deftp {Data Type} uid Alias of @code{'string'}. @end deftp @c TODO link to the RFC @c - RFC 7265 (jCal) @deftp {Data Type} JCalProperty Alias for a record consisting of @itemize @bullet @item the name of the type, as a string @item All parameters of the object, as a @code{Record