json_serialization/reader_impl

Source   Edit  

Procs

func expectedFieldsBitmask(TT: type; fields: static int): auto {.compileTime,
    ...raises: [], gcsafe.}
Source   Edit  
func isFieldExpected(T: type): bool {.compileTime, ...raises: [], gcsafe.}
Source   Edit  
proc readRecordValue[T](r: var JsonReader; value: var T) {.
    ...raises: [SerializationError, IOError], raises: [], gcsafe.}
Source   Edit  
proc readValue[T](r: var JsonReader; value: var T) {.
    ...raises: [SerializationError, IOError], raises: [], gcsafe.}

Master field/object parser. This function relies on customised sub-mixins for particular object types.

Customised readValue() examples: :: type FancyInt = distinct int FancyUInt = distinct uint

proc readValue(reader: var JsonReader, value: var FancyInt) =
  ## Refer to another readValue() instance
  value = reader.readValue(int).FancyInt
Source   Edit  
func totalExpectedFields(T: type): int {.compileTime, ...raises: [], gcsafe.}
Source   Edit  

Iterators

iterator readArray(r: var JsonReader; ElemType: typedesc): ElemType:type {.
    ...raises: [IOError, SerializationError], raises: [], gcsafe.}
Source   Edit  
iterator readObject(r: var JsonReader; KeyType: type; ValueType: type): (
    KeyType:type, ValueType:type) {....raises: [IOError, SerializationError],
                                    raises: [], gcsafe.}
Source   Edit  
iterator readObjectFields(r: var JsonReader): string {.
    ...raises: [IOError, SerializationError], raises: [], gcsafe.}
Source   Edit  
iterator readObjectFields(r: var JsonReader; KeyType: type): KeyType:type {.
    ...raises: [IOError, SerializationError], raises: [], gcsafe.}
Source   Edit  

Templates

template configureJsonDeserialization(T: type[enum];
                                      allowNumericRepr: static[bool] = false;
    stringNormalizer: static[proc (s: string): string] = strictNormalize) {..}
Source   Edit  

Exports

EnumRepresentation, flavorEnumRep, decode, mimeType, Json, automaticSerialization, versionInt, flavorOmitsOptionalFields, supports, flavorEnumRep, flavorAllowsUnknownFields, flavorSkipNullFields, typeClassOrMemberAutoSerialize, flavorRequiresAllFields, automaticBuiltinSerialization, generateJsonAutoSerializationAddon, typeAutoSerialize, flavorUsesAutomaticObjectSerialization, automaticPrimitivesSerialization, createJsonFlavor, JsonValue, JsonSign, isFloat, JsonError, JsonReaderFlag, ==, JsonNumber, JsonString, defaultJsonReaderConf, maxPortableInt, JsonReaderConf, toInt, hasExponent, $, JsonVoid, ==, valueType, JsonReaderFlags, JsonValueRef, defaultJsonReaderFlags, JsonObjectType, JsonValueKind, minPortableInt, NumberPart, JsonReaderFlag, flavorRequiresAllFields, IntOverflowError, etBool, ==, GenericJsonReaderError, raiseUnexpectedField, UnexpectedField, JsonReaderConf, customIntValueIt, etBracketRi, parseObject, defaultJsonReaderConf, formatMsg, IncompleteObjectError, checkError, toInt, flavorSkipNullFields, hasExponent, etInt, JsonValueRef, UnexpectedTokenError, parseValue, customNumberHandler, UnexpectedValueError, flavorUsesAutomaticObjectSerialization, supports, Reader, flavorEnumRep, JsonSign, customIntHandler, JsonError, parseString, formatMsg, handleReadException, typeClassOrMemberAutoSerialize, assignLineNumber, ExpectedTokenCategory, ==, formatMsg, $, parseAsString, parseObjectSkipNullFields, ReaderType, etCurrlyLe, init, generateJsonAutoSerializationAddon, skipSingleJsValue, etString, JsonReaderFlags, raiseIntOverflow, raiseUnexpectedField, toInt, tokKind, defaultJsonReaderFlags, JsonObjectType, parseString, formatMsg, init, formatMsg, parseBool, customNumberValueIt, parseInt, raiseIntOverflow, JsonValue, JsonReader, EnumRepresentation, toFloat, handleReadException, createJsonFlavor, parseNull, JsonNumber, etEnumString, flavorEnumRep, etNumber, etCurrlyRi, formatMsg, parseObjectCustomKey, JsonReaderError, customStringHandler, etValue, isFloat, versionInt, parseAsString, valueType, toInt, flavorOmitsOptionalFields, formatMsg, CustomNumberHandler, JsonValueKind, decode, maxPortableInt, parseArray, etBracketLe, flavorAllowsUnknownFields, parseArray, mimeType, parseNumber, customStringValueIt, automaticSerialization, automaticBuiltinSerialization, Json, parseObjectWithoutSkip, automaticPrimitivesSerialization, raiseUnexpectedToken, etComma, JsonString, etColon, raiseUnexpectedToken, typeAutoSerialize, etEnumAny, raiseIncompleteObject, parseFloat, CustomIntHandler, parseNumber, JsonVoid, CustomStringHandler, parseJsonNode, parseValue, minPortableInt, raiseIncompleteObject, raiseUnexpectedValue, skipSingleJsValue, customStringValueIt, raiseUnexpectedValue, etString, JsonReaderFlag, ==, etEnumString, GenericJsonReaderError, ==, JsonError, raiseUnexpectedField, formatMsg, UnexpectedField, JsonReaderConf, etBracketRi, IntOverflowError, defaultJsonReaderConf, formatMsg, flavorSkipNullFields, hasExponent, automaticSerialization, etCurrlyLe, IncompleteObjectError, JsonValueRef, UnexpectedTokenError, UnexpectedValueError, supports, flavorUsesAutomaticObjectSerialization, flavorRequiresAllFields, raiseUnexpectedToken, Reader, flavorEnumRep, JsonSign, JsonReader, formatMsg, handleReadException, typeClassOrMemberAutoSerialize, assignLineNumber, ExpectedTokenCategory, formatMsg, $, etValue, ReaderType, generateJsonAutoSerializationAddon, JsonReaderFlags, raiseIntOverflow, raiseUnexpectedField, etBool, defaultJsonReaderFlags, JsonObjectType, formatMsg, handleReadException, formatMsg, raiseIntOverflow, JsonValue, EnumRepresentation, createJsonFlavor, JsonNumber, flavorEnumRep, etNumber, etCurrlyRi, decode, formatMsg, JsonReaderError, isFloat, versionInt, valueType, toInt, init, flavorOmitsOptionalFields, JsonValueKind, maxPortableInt, etBracketLe, etColon, flavorAllowsUnknownFields, mimeType, automaticBuiltinSerialization, Json, automaticPrimitivesSerialization, raiseUnexpectedToken, etComma, JsonString, typeAutoSerialize, etEnumAny, raiseIncompleteObject, etInt, JsonVoid, init, minPortableInt, raiseIncompleteObject, raiseUnexpectedValue, raiseUnexpectedValue