weakFamilyPod<T extends Pod, Arg> function
T Function(Arg arg)
weakFamilyPod<T extends Pod, Arg>(
- T create(
- Arg arg
Alternate version of familyPod that holds a weak reference to each child.
Implementation
T Function(Arg arg) weakFamilyPod<T extends Pod<dynamic>, Arg>(
T Function(Arg arg) create,
) {
final pods = HashMap<Arg, WeakReference<T>>();
return (arg) {
final pod = pods[arg]?.target;
if (pod != null) {
return pod;
}
final newPod = create(arg);
pods[arg] = WeakReference(newPod);
return newPod;
};
}