fromJSON static method
Deserializes a state from a JSON string.
Implementation
static State fromJSON(String json) {
// Any errors thrown here are expected and should be handled
// as data corruption.
var map = jsonDecode(json) as Map<String, dynamic>;
var state = State(StateHead(Uri.parse(map[originalURLKey] as String),
Uri.parse(map[urlKey] as String), map[sizeKey] as int));
state.transferred = map[transferredKey] as int;
state.parallel = (map[parallelKey] ?? false) as bool;
// ignore: implicit_dynamic_map_literal
var connsMap = map[connKey] as Map<String, dynamic>?;
if (connsMap != null) {
for (var connDict in connsMap.values) {
var connState = ConnState.fromJson(connDict as Map<String, dynamic>);
state.conns[connState.id] = connState;
}
}
return state;
}