obtain<T> static method

ValueNotifier obtain<T>(
  1. dynamic target, {
  2. dynamic listener(
    1. dynamic
    )?,
  3. T? defaultValue,
})

Implementation

static ValueNotifier obtain<T>(dynamic target,{Function(dynamic)? listener,T? defaultValue}) {
  if (!_listenerMap.containsKey(target)) {
    final notifier = ValueNotifier<T?>(defaultValue);
    _listenerMap[target] = notifier;
    _listener[target] = [];
    notifier.addListener(() {
      _listener[target]?.forEach((element) {
        element(notifier.value);
      });
    });
  }
  if(null != listener){
   _listener[target]!.add(listener);
  }
  return _listenerMap[target]!;
}