json_serialization/parser

Search:
Group by:
Source   Edit  

Types

CustomIntHandler = proc (dgt: int) {....gcsafe, raises: [].}
Custom integer parser, result values need to be captured Source   Edit  
CustomNumberHandler = proc (part: NumberPart; dgt: int) {....gcsafe, raises: [].}
Custom number parser, result values need to be captured Source   Edit  
CustomStringHandler = proc (b: char) {....gcsafe, raises: [].}
Custom text or binary parser, result values need to be captured. Source   Edit  
NumberPart = enum
  SignPart, IntegerPart, FractionPart, ExpSignPart, ExponentPart
Source   Edit  

Procs

proc customIntHandler(r: var JsonReader; handler: CustomIntHandler) {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Apply the handler argument function for parsing only integer part of JsonNumber Source   Edit  
proc customNumberHandler(r: var JsonReader; handler: CustomNumberHandler) {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Apply the handler argument function for parsing complete JsonNumber Source   Edit  
proc customStringHandler(r: var JsonReader; limit: int;
                         handler: CustomStringHandler) {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Apply the handler argument function for parsing a String type value. Source   Edit  
proc parseAsString(r: var JsonReader): JsonString {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc parseAsString(r: var JsonReader; val: var string) {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc parseBool(r: var JsonReader): bool {....raises: [IOError, JsonReaderError],
    raises: [], gcsafe.}
Source   Edit  
proc parseFloat(r: var JsonReader; T: type SomeFloat): T:type {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc parseInt(r: var JsonReader; T: type SomeInteger; portable: bool = false): T:type {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc parseJsonNode(r: var JsonReader): JsonNode {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc parseNull(r: var JsonReader) {....raises: [IOError, JsonReaderError],
                                    raises: [], gcsafe.}
Source   Edit  
proc parseNumber(r: var JsonReader; val: var JsonNumber) {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc parseString(r: var JsonReader): string {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc parseString(r: var JsonReader; limit: int): string {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc parseValue(r: var JsonReader; val: var JsonValueRef) {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc skipSingleJsValue(lex: var JsonLexer) {....raises: [IOError, JsonReaderError],
    raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
func toFloat(r: var JsonReader; val: JsonNumber; T: type SomeFloat): T:type {.
    ...raises: [JsonReaderError], raises: [], gcsafe.}
Source   Edit  
proc toInt(r: var JsonReader; val: JsonNumber; T: type SomeSignedInt;
           portable: bool): T:type {....raises: [JsonReaderError], raises: [],
                                     gcsafe.}
Source   Edit  
proc toInt(r: var JsonReader; val: JsonNumber; T: type SomeUnsignedInt;
           portable: bool): T:type {....raises: [IOError, JsonReaderError],
                                     raises: [], gcsafe.}
Source   Edit  
proc tokKind(r: var JsonReader): JsonValueKind {.
    ...raises: [IOError, JsonReaderError], raises: [], gcsafe.}
Source   Edit  

Templates

template checkError(r: var JsonReader) {..}
Source   Edit  
template customIntValueIt(r: var JsonReader; body: untyped) {..}

Convenience wrapper around customIntHandler() for parsing integers.

The body argument represents a virtual function body. So the current digit processing can be exited with return.

Source   Edit  
template customNumberValueIt(r: var JsonReader; body: untyped) {..}

Convenience wrapper around customIntHandler() for parsing numbers.

The body argument represents a virtual function body. So the current digit processing can be exited with return.

Source   Edit  
template customStringValueIt(r: var JsonReader; body: untyped) {..}

Convenience wrapper around customStringHandler() for parsing a text terminating with a double quote character '"'.

The body argument represents a virtual function body. So the current character processing can be exited with return.

Source   Edit  
template customStringValueIt(r: var JsonReader; limit: untyped; body: untyped) {..}

Convenience wrapper around customStringHandler() for parsing a text terminating with a double quote character '"'.

The body argument represents a virtual function body. So the current character processing can be exited with return.

Source   Edit  
template parseArray(r: var JsonReader; body: untyped) {..}
Source   Edit  
template parseArray(r: var JsonReader; idx: untyped; body: untyped) {..}
Source   Edit  
template parseNumber(r: var JsonReader; T: type): auto {..}
workaround Nim inablity to instantiate result type when one the argument is generic type and the other is a typedesc Source   Edit  
template parseObject(r: var JsonReader; key: untyped; body: untyped) {..}
Source   Edit  
template parseObjectCustomKey(r: var JsonReader; keyAction: untyped;
                              body: untyped) {..}
Source   Edit  
template parseObjectSkipNullFields(r: var JsonReader; key: untyped;
                                   body: untyped) {..}
Source   Edit  
template parseObjectWithoutSkip(r: var JsonReader; key: untyped; body: untyped) {..}
Source   Edit  
template parseValue(r: var JsonReader; T: type): auto {..}
workaround Nim inablity to instantiate result type when one the argument is generic type and the other is a typedesc Source   Edit  
template skipSingleJsValue(r: var JsonReader) {..}
Source   Edit