NimYAML Home Testing Ground API: Module yaml Module yaml.serialization

Module serialization

Imports

../yaml, macros, strutils, streams, tables, json, hashes, re

Types

YamlTagStyle = enum
  ytsNone, ytsRootOnly, ytsAll

Vars

serializationTagLibrary = initSerializationTagLibrary()

contains all local tags that are used for type serialization. Does not contain any of the specific default tags for sequences or maps, as those are not suited for Nim's static type system.

Should not be modified manually. Will be extended by make_serializable <#make_serializable,stmt,stmt.

Procs

proc lazyLoadTag(uri: string): TagId {.inline, raises: [], tags: [].}
proc prepend(event: YamlStreamEvent; s: YamlStream): YamlStream {.raises: [], tags: [].}
proc yamlTag[](T: typedesc[string]): TagId {.inline.}
proc safeTagUri(id: TagId): string {.raises: [KeyError, Exception], tags: [RootEffect].}
proc construct(s: YamlStream; result: var string) {.raises: [ValueError], tags: [].}
proc serialize(value: string; tagStyle: YamlTagStyle = ytsNone): YamlStream {.
    raises: [], tags: [].}
proc yamlTag[](T: typedesc[int]): TagId {.inline.}
proc construct(s: YamlStream; result: var int) {.raises: [ValueError, OverflowError],
    tags: [].}
proc serialize(value: int; tagStyle: YamlTagStyle = ytsNone): YamlStream {.raises: [],
    tags: [].}
proc yamlTag[](T: typedesc[int64]): TagId {.inline.}
proc contruct(s: YamlStream; result: var int64) {.raises: [ValueError], tags: [].}
proc serialize(value: int64; tagStyle: YamlTagStyle = ytsNone): YamlStream {.raises: [],
    tags: [].}
proc yamlTag[](T: typedesc[float]): TagId {.inline.}
proc construct(s: YamlStream; result: var float) {.raises: [ValueError], tags: [].}
proc serialize(value: float; tagStyle: YamlTagStyle = ytsNone): YamlStream {.raises: [],
    tags: [].}
proc yamlTag[](T: typedesc[bool]): TagId {.inline.}
proc construct(s: YamlStream; result: var bool) {.raises: [ValueError, RegexError],
    tags: [].}
proc serialize(value: bool; tagStyle: YamlTagStyle = ytsNone): YamlStream {.raises: [],
    tags: [].}
proc yamlTag[I, ](T: typedesc[seq[I]]): TagId {.inline.}
proc construct[T](s: YamlStream; result: var seq[T])
proc serialize[T](value: seq[T]; tagStyle: YamlTagStyle = ytsNone): YamlStream
proc yamlTag[K, V, ](T: typedesc[Table[K, V]]): TagId {.inline.}
proc construct[K, V](s: YamlStream; result: var Table[K, V])
proc serialize[K, V](value: Table[K, V]; tagStyle: YamlTagStyle = ytsNone): YamlStream
proc load[K](input: Stream; target: var K)
proc dump[K](value: K; target: Stream; style: YamlPresentationStyle = ypsDefault;
            tagStyle: YamlTagStyle = ytsRootOnly; indentationStep: int = 2)

Macros

macro make_serializable(types: stmt): stmt