FeatureClient constructor

FeatureClient({
  1. required ClientMetadata metadata,
  2. required HookManager hookManager,
  3. required EvaluationContext defaultContext,
  4. FeatureProvider? provider,
  5. TransactionContextManager? transactionManager,
})

Implementation

FeatureClient({
  required this.metadata,
  required HookManager hookManager,
  required EvaluationContext defaultContext,
  FeatureProvider? provider,
  TransactionContextManager? transactionManager,
}) : _hookManager = hookManager,
     _defaultContext = defaultContext,
     _provider = provider ?? InMemoryProvider({}),
     _transactionManager = transactionManager ?? TransactionContextManager() {
  // Ensure provider is initialized
  if (_provider.state == ProviderState.NOT_READY) {
    _provider.initialize();
  }
}