src/jsonpak/builder

Source   Edit  

Provides procedures for deserializing JSON data into Nim data types.

Procs

proc fromJson[T](tree: JsonTree; path: JsonPtr; t: typedesc[T]): T
Source   Edit  
proc initFromJson(dst: var bool; tree: JsonTree; n: NodePos) {.
    ...raises: [ValueError, JsonKindError], tags: [], forbids: [].}
Source   Edit  
proc initFromJson(dst: var JsonTree; tree: JsonTree; n: NodePos) {....raises: [],
    tags: [], forbids: [].}
Source   Edit  
proc initFromJson(dst: var string; tree: JsonTree; n: NodePos) {.
    ...raises: [ValueError, JsonKindError], tags: [], forbids: [].}
Source   Edit  
proc initFromJson[S, T](dst: var array[S, T]; tree: JsonTree; n: NodePos)
Source   Edit  
proc initFromJson[T: enum](dst: var T; tree: JsonTree; n: NodePos)
Source   Edit  
proc initFromJson[T: object | tuple](dst: var T; tree: JsonTree; n: NodePos)
Source   Edit  
proc initFromJson[T: SomeFloat](dst: var T; tree: JsonTree; n: NodePos)
Source   Edit  
proc initFromJson[T: SomeInteger](dst: var T; tree: JsonTree; n: NodePos)
Source   Edit  
proc initFromJson[T](dst: var (Table[string, T] | OrderedTable[string, T]);
                     tree: JsonTree; n: NodePos)
Source   Edit  
proc initFromJson[T](dst: var Option[T]; tree: JsonTree; n: NodePos)
Source   Edit  
proc initFromJson[T](dst: var ref T; tree: JsonTree; n: NodePos)
Source   Edit  
proc initFromJson[T](dst: var seq[T]; tree: JsonTree; n: NodePos)
Source   Edit  
proc raiseJsonKindError(kind: JsonNodeKind; kinds: set[JsonNodeKind]) {.
    noinline, ...raises: [ValueError, JsonKindError], tags: [], forbids: [].}
Source   Edit  

Iterators

iterator items[T](tree: JsonTree; path: JsonPtr; t: typedesc[T]): T
Iterator for the items of x. x has to be a JArray. Source   Edit  
iterator pairs[T](tree: JsonTree; path: JsonPtr; t: typedesc[T]): (lent string,
    T)
Iterator for the pairs of x. x has to be a JObject. Source   Edit  

Templates

template verifyJsonKind(tree: JsonTree; n: NodePos; kinds: set[JsonNodeKind])
Source   Edit