Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface EnumFeatureFlag<T : Enum<T>> : FeatureFlag<T>

A Enumeration feature flag, when evaluated returns T

Link copied to clipboard
sealed interface FeatureFlag<T : Any>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface JsonFeatureFlag<T : Any> : FeatureFlag<T>

A JSON feature flag, when evaluated returns T.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun <T> JsonAdapter<T>.fromSafeJson(value: String): T?
fun <T> JsonAdapter<T>.fromSafeJson(json: String, onUnknownFields: (JsonDataException) -> Unit): T?

Attempts to use JsonAdapter.failOnUnknown and logs any issues before falling back to ignoring the unknown fields.

Link copied to clipboard
inline fun <T : Enum<T>> DynamicConfig.getEnum(feature: Feature): T
inline fun <T : Enum<T>> FeatureFlags.getEnum(feature: Feature, key: String, attributes: Attributes = Attributes()): T
Link copied to clipboard
inline fun <T> DynamicConfig.getJson(feature: Feature): T
inline fun <T> FeatureFlags.getJson(feature: Feature, key: String, attributes: Attributes = Attributes()): T
Link copied to clipboard
fun <T> JsonAdapter<T>.toSafeJson(value: T): String
fun <T> JsonAdapter<T>.toSafeJson(value: T, onUnknownFields: (JsonDataException) -> Unit): String

Attempts to use JsonAdapter.failOnUnknown and logs any issues before falling back to ignoring the unknown fields.

Link copied to clipboard
inline fun <T : Enum<T>> DynamicConfig.trackEnum(feature: Feature, executor: Executor, noinline tracker: (T) -> Unit): TrackerReference
inline fun <T : Enum<T>> FeatureFlags.trackEnum(feature: Feature, key: String, attributes: Attributes = Attributes(), executor: Executor, noinline tracker: (T) -> Unit): TrackerReference
Link copied to clipboard
inline fun <T> DynamicConfig.trackJson(feature: Feature, executor: Executor, noinline tracker: (T) -> Unit): TrackerReference
inline fun <T> FeatureFlags.trackJson(feature: Feature, key: String, attributes: Attributes = Attributes(), executor: Executor, noinline tracker: (T) -> Unit): TrackerReference