OpenFeatureEvent constructor

OpenFeatureEvent(
  1. OpenFeatureEventType type,
  2. String message, {
  3. dynamic data,
  4. ProviderMetadata? providerMetadata,
  5. FeatureProvider? provider,
  6. String? domain,
  7. ErrorCode? errorCode,
  8. List<String>? flagsChanged,
  9. Map<String, Object> eventMetadata = const {},
  10. DateTime? timestamp,
})

Implementation

OpenFeatureEvent(
  this.type,
  this.message, {
  this.data,
  this.providerMetadata,
  this.provider,
  this.domain,
  this.errorCode,
  List<String>? flagsChanged,
  Map<String, Object> eventMetadata = const {},
  DateTime? timestamp,
}) : timestamp = timestamp ?? DateTime.now(),
     flagsChanged = flagsChanged == null
         ? null
         : List.unmodifiable(flagsChanged),
     eventMetadata = Map.unmodifiable(eventMetadata) {
  for (final value in eventMetadata.values) {
    if (value is! bool && value is! String && value is! num) {
      throw ArgumentError(
        'Event metadata values must be boolean, string or number.',
      );
    }
  }
}