dogs_core library

Classes

APISchemaObjectMetaVisitor
CascadeItemType<T>
Defines the item type of the implementing class. The getItemType method in lyell_gen will consider T as the actual item type and treat it as if it is the type argument of a List, Future or a similar generic core types.
ClassValidator
Class level validator for annotations of ClassValidators.
ConverterSupplyingVisitor
Copyable<T>
Interface for providing DogEngine.copy
DateTimeConverter
DogConverter for DateTime instances which encodes the timestamp as a Iso8601 string.
DefaultIterableConverter
DefaultListConverter
DefaultMapConverter
DefaultNativeCodec
DefaultSetConverter
DefaultStructureConverter<T>
DogBool
DogConverter<T>
DogDouble
DogEngine
Registry and interface for DogConverters, DogStructures and Copyables.
DogGraphValue
Graph node of the serialized DOG graph.
DogInt
DogJsonSerializer
DogList
DogMap
DogNative
DogNativeCodec
DogNull
DogSchema
DogSerializer
DogString
DogStructure<T>
Defines the structure of class T and provides methods for instance creation and data lookups. Also contains runtime instances of RetainedAnnotations used in T.
DogStructureConverterImpl<T>
DogStructureField
DogStructureProxy
Method proxy provider for DogStructures. A structure proxy must provided instantiation/"activation" for the object and property accessor methods for all fields defined by the structure. A get-all method for faster field value retrieval must also be provided.
DogVisitor<T>
DurationConverter
DogConverter for Duration instances which encode the time difference in milliseconds as an integer
FieldValidator
Property level validator for annotations of DogStructureFields.
GeneratedEnumDogConverter<T extends Enum>
ItemAssociatedTypeToken<SOURCE, ITEM>
Double type capture token for associated item types. Mainly useful for serialization or type mapping.
LinkSerializer
MemoryDogStructureProxy
Simple class-less implementation of DogStructureProxy, primarily for tests.
NullExclusionVisitor
ObjectFactoryStructureProxy<T>
DogStructureProxy implementation for creating universal object factories.
PolymorphicConverter
Polymorphic converter for simple polymorphic datastructures. Currently only supports a maximum depth of 1.
PropertyName
Overrides the name that will be used by the GeneratedDogConverter for this specific property. By default, the field name will be used.
PropertySerializer
Overrides the serializer that will be used by the GeneratedDogConverter for this specific property. By default, the field will be serialized using the convert associated with its type.
RegistrationHook
RetainedAnnotation
Marker annotation to make an annotation accessible at runtime using RetainedAnnotationHolder implementations.
RetainedAnnotationContainer
Standard implementation of const RetainedAnnotationHolder.
RetainedAnnotationHolder
Abstract container of RetainedAnnotations.
Serializable
StringKeyedMapVisitor
StructureMetadata
StructureNode
TypeCapture<T>
Abstract base class for using a generic type capture.
TypeToken<T>
Default implementation for a TypeCapture of type T.
Uint8ListConverter
DogConverter for Uint8List instances which encodes the binary data as a base64 string using base64Encode.
UriConverter
DogConverter for Uri instances which encodes the uri into a string.
Validatable<T>
Interface for providing DogEngine.validate

Enums

IterableKind
Common iterable kinds which are compatible with dogs.
StructureConformity

Mixins

Dataclass<T>
DogsMixin<T>
StructureEmitter<T>
TypeCaptureMixin<T>
Mixin for adding the TypeCapture interface to classes.

Constants

beanIgnore → const _BeanIgnore
deepEquality → const DeepCollectionEquality
Static DeepCollectionEquality instance used by the dog library.
linkSerializer → const LinkSerializer
Manually marks a custom dog converter implementation for linking. The dogs_generator will then include an instance of this converter.
polymorphic → const _Polymorphic
Marks a property as polymorphic, meaning its value's type can vary.
serializable → const Serializable
Marks a class or enum as serializable. The dogs_generator will then generate a DefaultStructureConverter which also implements Copyable and Validatable. The generator will also generate an implementation of Builder for the given type with the suffix 'Builder' appended to the original class name. Annotated types must match following conditions:

Properties

cacheDataclassHashCodes bool
Changes if Dataclasses lazily cache their deep hashCode. Significantly speeds up high-volume comparisons between similar Dataclasses but increases memory overhead.
getter/setter pair
dogs DogEngine
Static instance of DogEngine that will be initialised by invoking the generated initialiseDogs() method.
no setter

Functions

adjustIterable<T>(dynamic value, IterableKind kind) → dynamic
Converts a value to the given IterableKind. If the value is a Iterable implementation, it will converted to the desired IterableKind. Trying to convert singular values to a iterable will result in an exception.
copy<T>(T src, [Map<String, dynamic>? overrides]) → T
Copies the src object and applies overrides to the created instance using the Copyable mixin associated with T.
fromJson<T>(String json) → T
Decodes this json to an T instance, using the DogConverter associated with T.
toJson<T>(T value) String
Encodes this value to json, using the DogConverter associated with T.

Typedefs

EnumFromString<T> = T? Function(String)
EnumToString<T> = String Function(T?)

Exceptions / Errors

ValidationException