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