call method
Retrieves the cached signal for arg, creating it if it doesn't exist.
Implementation
Signal<T> call(Arg arg) {
if (_cache.containsKey(arg)) {
return _cache[arg]!;
}
final sig = _creator(arg);
_cache[arg] = sig;
if (sig.autoDisposeEnabled) {
final previousOnDispose = sig.onDisposeCallback;
sig.onDisposeCallback = () {
try {
previousOnDispose?.call();
} finally {
_cache.remove(arg);
}
};
}
return sig;
}