FeaturesManager constructor

FeaturesManager({
  1. List<FeaturesProvider>? providers,
  2. void updateListener(
    1. MappedFeatures
    )?,
  3. IFeaturesContainer? featuresContainer,
  4. Logger? logger,
})

Implementation

FeaturesManager({
  List<FeaturesProvider>? providers,
  void Function(MappedFeatures)? updateListener,
  IFeaturesContainer? featuresContainer,
  Logger? logger,
})  : _providers = providers ?? [],
      _updateListener = updateListener,
      _featuresContainer = featuresContainer ?? FeaturesContainer(),
      _overriddenFeaturesContainer = FeaturesContainer(),
      _logger = logger ?? Logger('FeaturesManager'),
      _streamController = StreamController() {
  for (final provider in _providers) {
    if (provider._needUpdater) {
      provider._updater = _updater;
    }
  }
  _updater.addListener(_updateProviderByKey);
}