jsony

jsony

Search:
Group by:
SourceEdit

Types

JsonError = object of ValueError
SourceEdit
RawJson = distinct string
SourceEdit
SomeTable[K; V] = Table[K, V] | OrderedTable[K, V] | TableRef[K, V] |
    OrderedTableRef[K, V]
SourceEdit

Procs

proc dumpHook(s: var string; v: bool) {....raises: [], tags: [], forbids: [].}
SourceEdit
proc dumpHook(s: var string; v: char) {....raises: [], tags: [], forbids: [].}
SourceEdit
proc dumpHook(s: var string; v: enum)
SourceEdit
proc dumpHook(s: var string; v: int | int8 | int16 | int32 | int64)
SourceEdit
proc dumpHook(s: var string; v: JsonNode) {....raises: [], tags: [RootEffect],
    forbids: [].}
Dumps a regular json node. SourceEdit
proc dumpHook(s: var string; v: object)
SourceEdit
proc dumpHook(s: var string; v: RawJson) {....raises: [], tags: [], forbids: [].}
SourceEdit
proc dumpHook(s: var string; v: ref)
SourceEdit
proc dumpHook(s: var string; v: SomeFloat)
SourceEdit
proc dumpHook(s: var string; v: string) {....raises: [], tags: [], forbids: [].}
SourceEdit
proc dumpHook(s: var string; v: tuple)
SourceEdit
proc dumpHook(s: var string; v: uint | uint8 | uint16 | uint32 | uint64)
SourceEdit
proc dumpHook[N, T](s: var string; v: array[N, t[T]])
SourceEdit
proc dumpHook[N, T](s: var string; v: array[N, T])
SourceEdit
proc dumpHook[T: distinct](s: var string; v: T)
SourceEdit
proc dumpHook[T](s: var string; v: Option[T])
SourceEdit
proc dumpHook[T](s: var string; v: seq[T])
SourceEdit
proc dumpHook[T](s: var string; v: SomeSet[T] | set[T])
SourceEdit
proc fromJson(s: string): JsonNode {....raises: [JsonError, ValueError], tags: [],
                                     forbids: [].}
Takes json parses it into JsonNodes. SourceEdit
proc fromJson[T](s: string; x: typedesc[T]): T
Takes json and outputs the object it represents.
  • Extra json fields are ignored.
  • Missing json fields keep their default values.
  • proc newHook(foo: var ...) Can be used to populate default values.
SourceEdit
proc parseHook(s: string; i: var int; v: var bool) {....raises: [JsonError],
    tags: [], forbids: [].}
Will parse boolean true or false. SourceEdit
proc parseHook(s: string; i: var int; v: var char) {.
    ...raises: [JsonError, ValueError], tags: [], forbids: [].}
SourceEdit
proc parseHook(s: string; i: var int; v: var JsonNode) {.
    ...raises: [JsonError, ValueError, JsonError], tags: [], forbids: [].}
SourceEdit
proc parseHook(s: string; i: var int; v: var RawJson) {.
    ...raises: [JsonError, ValueError], tags: [], forbids: [].}
SourceEdit
proc parseHook(s: string; i: var int; v: var SomeFloat)
Will parse float32 and float64. SourceEdit
proc parseHook(s: string; i: var int; v: var SomeSignedInt)
Will parse signed integers. SourceEdit
proc parseHook(s: string; i: var int; v: var SomeUnsignedInt)
Will parse unsigned integers. SourceEdit
proc parseHook(s: string; i: var int; v: var string) {.
    ...raises: [JsonError, ValueError], tags: [], forbids: [].}
Parse string. SourceEdit
proc parseHook[K: string | enum; V](s: string; i: var int;
                                    v: var SomeTable[K, V])
SourceEdit
proc parseHook[T: array](s: string; i: var int; v: var T)
SourceEdit
proc parseHook[T: distinct](s: string; i: var int; v: var T)
SourceEdit
proc parseHook[T: enum](s: string; i: var int; v: var T)
SourceEdit
proc parseHook[T: not object](s: string; i: var int; v: var ref T)
SourceEdit
proc parseHook[T: object | ref object](s: string; i: var int; v: var T)
SourceEdit
proc parseHook[T: tuple](s: string; i: var int; v: var T)
SourceEdit
proc parseHook[T](s: string; i: var int; v: var (SomeSet[T] | set[T]))
SourceEdit
proc parseHook[T](s: string; i: var int; v: var Option[T])
Parse an Option. SourceEdit
proc parseHook[T](s: string; i: var int; v: var seq[T])
SourceEdit
proc parseSymbol(s: string; i: var int): string {....raises: [], tags: [],
    forbids: [].}
Will read a symbol and return it. Used for numbers and booleans. SourceEdit
proc skipValue(s: string; i: var int) {....raises: [JsonError, ValueError],
                                        tags: [], forbids: [].}
Used to skip values of extra fields. SourceEdit
proc toJson[T](v: T): string
SourceEdit

Templates

template eatChar(s: string; i: var int; c: char)
Will consume space before and then the character c. Will raise an exception if c is not found. SourceEdit
template eatSpace(s: string; i: var int)
Will consume whitespace. SourceEdit
template toStaticJson(v: untyped): static[string]
This will turn v into json at compile time and return the json string. SourceEdit