MultiBaseProvider.create constructor
MultiBaseProvider.create({
- required Key key,
- required MultiBaseInherited inherited,
- MultiBaseFunction? initialize,
- MultiBaseFunction? update,
Implementation
factory MultiBaseProvider.create({
required Key key,
required MultiBaseInherited inherited,
MultiBaseFunction? initialize,
MultiBaseFunction? update,
}) {
if (_instances[key] == null) {
_instances[key] = MultiBaseProvider._init(key: key, inherited: inherited);
if (initialize != null)
initialize(_instances[key]!._inherited._blocs,
_instances[key]!._subscriptions);
for (BaseBloc bloc in _instances[key]!._inherited._blocs!.values)
_instances[key]!._subscriptions.add(
bloc.exceptionStream!.listen(
(BaseException? e) =>
_instances[key]?._inherited.exception?.add(e),
),
);
} else {
if (update != null) {
update(_instances[key]!._inherited._blocs,
_instances[key]!._subscriptions);
}
_instances[key] = MultiBaseProvider._copy(key: key, inherited: inherited);
}
return _instances[key]!;
}