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 inT
. -
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.
Extensions
- ConverterIterableExtension on DogConverter
- DogEngineShortcuts on DogEngine
- DogJsonExtension on DogEngine
-
DogsIterableExtension
on Iterable<
T> -
DogsListExtension
on List<
T> -
DogsMapExtension
on Map<
K, V> - DogValueExtension on DogGraphValue
- FieldExtension on DogStructureField
- StructureExtensions on DogStructure
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 appliesoverrides
to the created instance using the Copyable mixin associated withT
. -
fromJson<
T> (String json) → T -
Decodes this
json
to anT
instance, using the DogConverter associated withT
. -
toJson<
T> (T value) → String -
Encodes this
value
to json, using the DogConverter associated withT
.
Typedefs
-
EnumFromString<
T> = T? Function(String) -
EnumToString<
T> = String Function(T?)