set method
dynamic
set(
- dynamic v
)
override
Implementation
@override
set(v) {
// si lo que esta entrando es una lista
if (v is List) {
// si la lista tiene clave
// se busca modificar los elementos que concidan con el id o key
if (hasKey) {
// se revisa el contenido que se recibe
for (var i in v) {
// se busca el key o el id
int index = indexWhere((x) => i['key'] ?? i['id']);
// si no se encuentra se agrega
if (index < 0) {
var n = builder();
n.set(i);
add(n);
}
// se actualiza el registro si se encuentra
else {
this[index].set(i);
}
}
}
// si no tiene key la lista
// se limpia y se agrega todo
else {
clear();
for (var x in v) {
var n = builder();
n.reset(x);
add(n);
}
}
}
}