set method

  1. @override
void set(
  1. dynamic instance,
  2. dynamic value,
  3. MappingContext context
)
override

Write a property value given an instance

instance the instance value the value to write context the context object

Implementation

@override
void set(dynamic instance, dynamic value, MappingContext context) {
  if (value != null) {
    var list = value as List;
    var len = list.length;
    var result = factory();

    if ( polymorphic ) {
      for (var i = 0; i < len; i++) {
        var element = list[i];

        result.add(mapper.map(element, context: context, mapping: mapper.getSourceMapping(element.runtimeType)));
      }
    }
    else {
      mapping ??= mapper.getMappingX(sourceType, targetType);

      for (var i = 0; i < len; i++) {
        result.add(mapper.map(list[i], context: context, mapping: mapping));
      }
    }

    property.set(instance, result, context);
  } // if
}