reset method

dynamic reset([
  1. Map? value
])
override

Implementation

reset([Map? value]) {
  var v = MapType.from(value ?? {});
  for (var x in _members.values) {
    // reseteando con el nuevo valor
    var value = v[x.name];

    // Verificar el tipo del miembro y pasar el valor correcto
    if (x is ChalonaMap) {
      // Para ChalonaMap, necesitamos un Map<String, dynamic>?
      if (value is Map<String, dynamic>) {
        x.reset(value);
      } else {
        x.reset(null); // Reset con valores por defecto
      }
    } else if (x is ChalonaList) {
      // Para ChalonaList, necesitamos una List?
      if (value is List) {
        x.reset(value);
      } else {
        x.reset(null); // Reset con valores por defecto
      }
    } else {
      // Para ChalonaValue y otros tipos, pasar el valor directamente
      x.reset(value);
    }

    if (x.name == 'id') {
      _key = x.get().toString();
    }
  }
}