FeatureClient constructor
FeatureClient({
- required ClientMetadata metadata,
- required HookManager hookManager,
- required EvaluationContext defaultContext,
- EvaluationContext? apiContext,
- FeatureProvider? provider,
- TransactionContextManager? transactionManager,
- 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);
}
}