launchdarkly_common_client library

Classes

ApplicationInfo
Application metadata may be used by LaunchDarkly analytics or other product features.
AttributeReference
An attribute name or path expression identifying a value within an LDContext.
CacheInitializer
Initializer that will read data from cache.
CommonPlatform
ConnectionModeId
Identifies a built-in connection mode whose data-source pipeline can be overridden through DataSystemConfig.connectionModes: streaming, polling, background, or offline.
CredentialSource
Allows loading a credential, either a client-side ID or mobile key, from environment variables.
DataSourceConfig
DataSourceStatus
DataSourceStatusErrorInfo
A description of an error condition that the data source encountered.
DataSystemConfig
Configuration for the FDv2 data system.
DebouncedState
Snapshot of the desired state accumulated within a debounce window.
DeviceInfo
DiagnosticSdkData
EndpointConfig
Per-source endpoint overrides. When fields are null, the client uses the default ServiceEndpoints from config.
EnvironmentReporter
An EnvironmentReporter is able to report various attributes of the environment in which the application is running. If a property is null, it means the reporter was unable to determine the value.
EvaluationSeriesContext
Contextual information provided to the evaluation stages.
EventsConfig
Configuration for event processing and sending.
Fdv1FallbackConfig
Configuration for the FDv1 fallback tier.
FDv2Background
Mobile background mode. Cache initializer and a reduced-rate polling synchronizer (one hour by default).
FDv2ConnectionMode
Identifies a built-in FDv2 connection mode. Each variant maps to a pipeline of initializers and synchronizers that are active when the SDK is operating in that mode.
FDv2Offline
Offline mode. Cache initializer only; no synchronizers.
FDv2Polling
Polling-only mode at the configured polling interval.
FDv2Streaming
Foreground streaming mode. Cache + polling initializers, then streaming with polling fallback. Suitable for mobile foreground and desktop use.
FlagsChangedEvent
This event indicates that the details associated with one or more flags have changed.
Hook
Base class for extending SDK functionality via hooks. All hook implementations must derive from this class.
HookMetadata
Meta-data about a hook implementation.
HttpProperties
IdentifyComplete
The identify has been completed. Either the identify completed with cached data, or new data was fetched from LaunchDarkly.
IdentifyError
The identify operation encountered an error and will not complete.
IdentifyResult
Base class used for all identify results. Using a sealed class allows for exhaustive matching the the return from identify operations.
IdentifySeriesContext
Contextual information provided to identify stages.
IdentifySuperseded
The identify has been superseded. Multiple identify calls were outstanding and this one has been cancelled.
InitializerEntry
Marker class for separating initializers from other types of source entries.
LDAttributesBuilder
A builder for constructing LDContextAttributes.
LDBasicLogPrinter
Basic log printer which will output all messages using print.
LDCommonClient
LDCommonConfig
Configuration common to dart based SDKs.
LDContext
A collection of attributes that can be referenced in flag evaluations and analytics events. A LDContext may contain information about a single context or multiple contexts differentiated by the "kind" attribute.
LDContextBuilder
A builder to facilitate the creation of LDContexts. Note that the return type of kind is a LDAttributesBuilder that is used to define attributes for the specific kind of context you are creating.
LDEvaluationDetail<T>
Class returned by the "variation detail" methods such as LDClient.boolVariationDetail, combining the result of the evaluation with an explanation of how it was calculated.
LDEvaluationReason
Describes the reason that a flag evaluation produced a particular value.
LDLogAdapter
Interface used by log printers for use with the SDK. A custom implementation can be used to adapt the SDK log output to a logging framework of your choice.
LDLogger
Logging implementation used by the SDK. A default constructed logger will enable the LDLogLevel.info level and will output messages using the LDBasicLogPrinter.
LDLogRecord
Represents a log entry from LDLogger. It can be used with an LDLogAdapter to control logging output from the SDK.
LDValue
An immutable instance of any data type that is allowed in JSON.
LDValueArrayBuilder
Builder for constructing an LDValueType.array typed LDValue.
LDValueObjectBuilder
Builder for constructing an LDValueType.object typed LDValue.
ModeDefinition
Defines the initializers and synchronizers for a FDv2 connection mode.
ModeResolutionEntry
One row in an ordered mode resolution table (first match wins).
ModeState
Inputs for automatic mode resolution (lifecycle, network, mode slots).
OfflineBackgroundDisabled
Offline because the app is backgrounded and background updates are disabled. Corresponds to DataSourceState.backgroundDisabled.
OfflineDetail
Details for ResolvedOffline to help consumers make decisions (e.g. status reporting).
OfflineNetworkUnavailable
Offline because automatic resolution detected no usable network. Corresponds to DataSourceState.networkUnavailable.
OfflineSetOffline
Offline because the application or client chose not to connect (including explicit SDK offline and connection mode override to offline). Corresponds to DataSourceState.setOffline.
OsInfo
Persistence
Interface for a data store that holds feature flag data and other SDK properties in a serialized form. Implementations should maintain an in-memory cache of previously read or written values for performance.
PersistenceConfig
Configuration which affects how the SDK uses persistence.
PluginBase<TClient>
Base class from which all plugins must derive.
PluginCredentialInfo
Information about the credential used to initialize the SDK.
PluginEnvironmentMetadata
Metadata about the environment where the plugin is running.
PluginMetadata
Metadata about a plugin implementation.
PluginSdkMetadata
Metadata about the SDK that is running the plugin.
PollingConfig
PollingInitializer
Initializer that will fetch data from polling endpoints.
PollingSynchronizer
Long-lived polling synchronizer; pollInterval overrides client default when set.
ResolvedBackground
ResolvedConnectionMode
Unlike FDv2ConnectionMode alone, ResolvedOffline also carries resolution details such as OfflineDetail.
ResolvedOffline
ResolvedPolling
ResolvedStreaming
ServiceEndpoints
Specifies the base service URLs used by SDK components.
StateDebounceManager
Debounces network availability, lifecycle, and user-requested mode signals into a reconciled snapshot delivered through stream.
StreamingInitializer
Streaming initializer (e.g. first payload from a stream).
StreamingSynchronizer
Long-lived streaming synchronizer.
SynchronizerEntry
Marker class for separating synchronizers from other types of source entries.
TrackSeriesContext
Contextual information provided to track stages.

Enums

AutoEnvAttributes
Enable / disable options for Auto Environment Attributes functionality. When enabled, the SDK will automatically provide data about the mobile environment where the application is running. This data makes it simpler to target your mobile customers based on application name or version, or on device characteristics including manufacturer, model, operating system, locale, and so on. We recommend enabling this when you configure the SDK. See https://docs.launchdarkly.com/sdk/features/environment-attributes for more documentation.
ConnectionMode
The connection mode for the SDK to use.
CredentialType
Represents the credential type used by the SDK. The credential type is determined by the platform the SDK is running on.
DataSourceState
LDErrorKind
Enumerated type defining the defined error cases for an LDEvaluationReason with the kind LDKind.error.
LDKind
Enumerated type defining the possible reasons for a flag evaluation result, used in LDEvaluationReason.
LDLogLevel
Logging levels that can be used with LDLogger. Set the log level to one of these values when constructing a LDLogger to control level of log messages are enabled. Going from lowest importance (and most verbose) to most importance, the levels are: LDLogLevel.debug, LDLogLevel.info, LDLogLevel.warn, and LDLogLevel.error. You can also specify 'none' instead to disable all logging.
LDValueType
Describes the type of an LDValue. These correspond to the standard types in JSON.

Functions

combineHooks(List<Hook>? baseHooks, List<Hook>? extendedHooks) List<Hook>?
flutterDefaultResolutionTable() List<ModeResolutionEntry>
Default ordered table for Flutter.
resolveMode(List<ModeResolutionEntry> table, ModeState state) ResolvedConnectionMode
First matching row in table wins. If none match, maps state.foregroundConnectionMode to a ResolvedConnectionMode.
safeGetHooks<TClient>(List<PluginBase<TClient>>? plugins, LDLogger logger) List<Hook>?
safeGetPluginHooks<TClient>(PluginBase<TClient> plugin, LDLogger logger) List<Hook>?
Returns the hooks for a single plugin, or null if reading PluginBase.hooks throws.
safeGetPluginName<TClient>(PluginBase<TClient> plugin, LDLogger logger) String
safeRegisterPlugins<TClient>(TClient client, PluginEnvironmentMetadata metadata, List<PluginBase<TClient>>? plugins, LDLogger logger) → void

Typedefs

DebounceTimerFactory = Timer Function(Duration duration, void callback())
Factory that produces a one-shot timer used to schedule the debounce fire. Exists primarily so tests can substitute a controllable implementation (e.g. via fake_async).