nim-client.model.mustache Maven / Gradle / Ivy
{{>header}}
import json
import tables
{{#imports}}import {{import}}
{{/imports}}{{#models}}{{#model}}{{#vars}}{{#isEnum}}
type {{{enumName}}}* {.pure.} = enum{{#allowableValues}}{{#enumVars}}
{{{name}}}{{/enumVars}}{{/allowableValues}}
{{/isEnum}}{{/vars}}
type {{{classname}}}* = object
## {{{description}}}{{#vars}}
{{{name}}}*: {{#isEnum}}{{{enumName}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{#description}} ## {{{.}}}{{/description}}{{/vars}}
{{#vars}}{{#isEnum}}
func `%`*(v: {{{enumName}}}): JsonNode =
let str = case v:{{#allowableValues}}{{#enumVars}}
of {{{enumName}}}.{{{name}}}: {{{value}}}{{/enumVars}}{{/allowableValues}}
JsonNode(kind: JString, str: str)
func `$`*(v: {{{enumName}}}): string =
result = case v:{{#allowableValues}}{{#enumVars}}
of {{{enumName}}}.{{{name}}}: {{{value}}}{{/enumVars}}{{/allowableValues}}
{{/isEnum}}{{/vars}}{{/model}}{{/models}}