deserializeOnDemand method

void deserializeOnDemand(
  1. String jsonText,
  2. OnDemandSerializable target, {
  3. Map<String, dynamic Function(dynamic)>? transformers,
  4. Map<String, dynamic Function(Map<String, dynamic>?)>? objectCreators,
})

Deserializes the specied jsonText into the OnDemandSerializable target. Specify transformers to transform values such as enums or non-String Map keys. Specify objectCreators when you have Lists, Map or nested objects.

Implementation

void deserializeOnDemand(String jsonText, OnDemandSerializable target,
    {Map<String, dynamic Function(dynamic)>? transformers,
    Map<String, dynamic Function(Map<String, dynamic>?)>? objectCreators}) {
  if (target is Serializable) {
    final serializable = target as Serializable;
    deserialize(jsonText, serializable);
    target.read(serializable.attributes);
  }
  final genericSerializable = SerializableObject();
  if (transformers != null) {
    genericSerializable.transformers.addAll(transformers);
  }
  if (objectCreators != null) {
    genericSerializable.objectCreators.addAll(objectCreators);
  }
  deserialize(jsonText, genericSerializable);
  target.read(genericSerializable.attributes);
}