import preserves type XdgOpen* {.preservesRecord: "xdg-open".} = object `uri`*: string UriRunnerConfig* {.preservesDictionary.} = object `handlerspace`* {.preservesEmbedded.}: Preserve[void] `urispace`* {.preservesEmbedded.}: Preserve[void] ActionHandler* {.preservesRecord: "action-handler".} = object `pat`*: string `entity`* {.preservesEmbedded.}: Preserve[void] `action`*: Preserve[void] proc `$`*(x: XdgOpen | UriRunnerConfig | ActionHandler): string = `$`(toPreserve(x)) proc encode*(x: XdgOpen | UriRunnerConfig | ActionHandler): seq[byte] = encode(toPreserve(x))