runEffect method
Runs the SaveEffects.
Implementation
@override
void runEffect(
SaveEffectType type,
List<SaveEffect> effects,
T value,
) {
_provider.runEffect(type, effects, value);
final rxEffects = effects.whereType<SaveFromFamilyEffect<T, A>>();
final callbacks = switch (type) {
SaveEffectType.init => rxEffects
.where((e) => e.onInit != null || e.orElse != null)
.map((e) => e.onInit ?? e.orElse)
.nonNulls,
SaveEffectType.update => rxEffects
.where((e) => e.onUpdate != null || e.orElse != null)
.map((e) => e.onUpdate ?? e.orElse)
.nonNulls,
SaveEffectType.dispose => rxEffects
.where((e) => e.onDispose != null || e.orElse != null)
.map((e) => e.onDispose ?? e.orElse)
.nonNulls,
_ => throw 'Unsupported event',
};
for (final callback in callbacks) {
Future(() {
callback(value, arg);
});
}
}