FeatureClient constructor

FeatureClient({
  1. required ClientMetadata metadata,
  2. required HookManager hookManager,
  3. required EvaluationContext defaultContext,
  4. EvaluationContext? apiContext,
  5. FeatureProvider? provider,
  6. TransactionContextManager? transactionManager,
  7. Stream<OpenFeatureEvent>? eventStream,
})

Implementation

FeatureClient({
  required this.metadata,
  required HookManager hookManager,
  required EvaluationContext defaultContext,
  EvaluationContext? apiContext,
  FeatureProvider? provider,
  TransactionContextManager? transactionManager,
  Stream<OpenFeatureEvent>? eventStream,
}) : _hookManager = hookManager,
     _defaultContext = defaultContext,
     _apiContext = apiContext ?? const EvaluationContext(attributes: {}),
     _provider = provider ?? InMemoryProvider({}),
     _transactionManager = transactionManager ?? TransactionContextManager() {
  if (_provider.state == ProviderState.NOT_READY) {
    _provider.initialize();
  }

  if (eventStream != null) {
    _eventSubscription = eventStream.listen(_forwardEvent);
  }
}