icalendar_actor/src/icalendar_components.nim

27 lines
711 B
Nim

import
preserves, std/tables
type
CalendarDataspace* {.preservesRecord: "calendar".} = object
`url`*: string
`dataspace`* {.preservesEmbedded.}: EmbeddedRef
Property* {.preservesTuple.} = object
`label`*: string
`parameters`*: Parameters
`type`*: string
`values`* {.preservesTupleTail.}: seq[Value]
Parameters* = Table[Symbol, string]
Component* {.preservesTuple.} = object
`label`*: string
`properties`*: seq[Property]
`components`*: seq[Component]
proc `$`*(x: CalendarDataspace | Property | Parameters | Component): string =
`$`(toPreserves(x))
proc encode*(x: CalendarDataspace | Property | Parameters | Component): seq[byte] =
encode(toPreserves(x))