initialise method
Implementation
@override
Future initialise() async {
clearErrors();
_streamsSubscriptions = {};
if (!changeSource) {
update();
}
for (var key in streamsMap.keys) {
// If a lifecycle function isn't supplied, we fallback to default
_streamsSubscriptions![key] = streamsMap[key]!.stream.listen(
(incomingData) {
setErrorFor(key, null);
update();
// Extra security in case transformData isnt sent
var interceptedData = streamsMap[key]!.transformData == null
? transformData(key, incomingData)
: streamsMap[key]!.transformData!(incomingData);
if (interceptedData != null) {
dataMap[key] = interceptedData;
} else {
dataMap[key] = incomingData;
}
update();
streamsMap[key]!.onData != null
? streamsMap[key]!.onData!(dataMap[key])
: onData(key, dataMap[key]);
},
onError: (error) {
setErrorFor(key, error);
dataMap[key] = null;
streamsMap[key]?._onError != null
? streamsMap[key]!._onError!(error)
: onError(key, error);
update();
},
);
streamsMap[key]!.onSubscribed != null
? streamsMap[key]!.onSubscribed!()
: onSubscribed(key);
changeSource = false;
}
}