Empty

object Empty : ConfigProvider, Provider<JsonElement>

An empty ConfigProvider that only returns default or empty optional entries. Uses nova:empty_config_provider as the config id.

Properties

Link copied to clipboard
open override val children: Set<Provider<*>>
Link copied to clipboard
open override val configId: @NotNull Key

The id of this config.

Link copied to clipboard
open override val delegate: Provider<JsonElement>
Link copied to clipboard
open override val isStable: Boolean
Link copied to clipboard
open override val parents: Set<Provider<*>>
Link copied to clipboard
open override val value: DeferredValue<JsonElement>

Functions

Link copied to clipboard
open override fun addStrongChild(child: Provider<*>)
Link copied to clipboard
open override fun addWeakChild(child: Provider<*>)
Link copied to clipboard
open override fun <S : Any, T : Any> entry(type: KType, default: Provider<S>, transform: (S) -> T, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value of type under the first existing path from paths, transformed to T by transform. Falls back to the transformed default if no entry exists or could not be deserialized due to SerializationException or if transform threw an exception.

open override fun <S : Any, T : Any> entry(serializer: KSerializer<S>, default: Provider<S>, transform: (S) -> T, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value deserialized by serializer under the first existing path from paths, transformed to T by transform. Falls back to the transformed default if no entry exists or could not be deserialized due to SerializationException or if transform threw an exception.

Link copied to clipboard
inline fun <T : Any> Provider<ConfigProvider>.entry(vararg path: String): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.entry(vararg paths: List<String>): Provider<T>
inline fun <T : Any> ConfigProvider.entry(vararg paths: Array<String>): Provider<T>
inline fun <T : Any> ConfigProvider.entry(vararg path: String): Provider<T>

inline fun <T : Any> Provider<ConfigProvider>.entry(default: T, vararg path: String): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.entry(default: Provider<T>, vararg path: String): Provider<T>
inline fun <T : Any> ConfigProvider.entry(default: T, vararg path: String): Provider<T>
inline fun <T : Any> ConfigProvider.entry(default: Provider<T>, vararg path: String): Provider<T>

Gets an entry Provider for a value of type T under path. Falls back to default if the entry does not exist or could not be deserialized due to SerializationException.

inline fun <T : Any> Provider<ConfigProvider>.entry(default: T, vararg paths: List<String>): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.entry(default: Provider<T>, vararg paths: List<String>): Provider<T>
inline fun <T : Any> ConfigProvider.entry(default: T, vararg paths: List<String>): Provider<T>
inline fun <T : Any> ConfigProvider.entry(default: Provider<T>, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value of type T under the first existing path from paths. Falls back to default if no entry exists or could not be deserialized due to SerializationException.

inline fun <S : Any, T : Any> Provider<ConfigProvider>.entry(default: S, vararg path: String, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> Provider<ConfigProvider>.entry(default: Provider<S>, vararg path: String, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> ConfigProvider.entry(default: S, vararg path: String, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> ConfigProvider.entry(default: Provider<S>, vararg path: String, noinline transform: (S) -> T): Provider<T>

Gets an entry Provider for a value of type S under path, transformed to T by transform. Falls back to the transformed default if the entry does not exist or could not be deserialized or transformed due to SerializationException.

inline fun <S : Any, T : Any> Provider<ConfigProvider>.entry(default: S, vararg paths: List<String>, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> Provider<ConfigProvider>.entry(default: Provider<S>, vararg paths: List<String>, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> ConfigProvider.entry(default: S, vararg paths: List<String>, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> ConfigProvider.entry(default: Provider<S>, vararg paths: List<String>, noinline transform: (S) -> T): Provider<T>

Gets an entry Provider for a value of type S under the first existing path from paths, transformed to T by transform. Falls back to the transformed default if no entry exists or could not be deserialized or transformed due to SerializationException.

fun <T : Any> Provider<ConfigProvider>.entry(serializer: KSerializer<T>, default: T, vararg path: String): Provider<T>
fun <T : Any> Provider<ConfigProvider>.entry(serializer: KSerializer<T>, default: Provider<T>, vararg path: String): Provider<T>
fun <T : Any> ConfigProvider.entry(serializer: KSerializer<T>, default: T, vararg path: String): Provider<T>
fun <T : Any> ConfigProvider.entry(serializer: KSerializer<T>, default: Provider<T>, vararg path: String): Provider<T>

Gets an entry Provider for a value deserialized by serializer under path. Falls back to default if the entry does not exist or could not be deserialized due to SerializationException.

fun <T : Any> Provider<ConfigProvider>.entry(serializer: KSerializer<T>, default: T, vararg paths: List<String>): Provider<T>
fun <T : Any> Provider<ConfigProvider>.entry(serializer: KSerializer<T>, default: Provider<T>, vararg paths: List<String>): Provider<T>
fun <T : Any> ConfigProvider.entry(serializer: KSerializer<T>, default: T, vararg paths: List<String>): Provider<T>
fun <T : Any> ConfigProvider.entry(serializer: KSerializer<T>, default: Provider<T>, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value deserialized by serializer under the first existing path from paths. Falls back to default if no entry exists or could not be deserialized due to SerializationException.

fun <T : Any> ConfigProvider.entry(type: KType, default: Provider<T>, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value of type under the first existing path from paths. Falls back to default if no entry exists or could not be deserialized due to SerializationException.

fun <S : Any, T : Any> Provider<ConfigProvider>.entry(serializer: KSerializer<S>, default: S, vararg path: String, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> Provider<ConfigProvider>.entry(serializer: KSerializer<S>, default: Provider<S>, vararg path: String, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> ConfigProvider.entry(serializer: KSerializer<S>, default: S, vararg path: String, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> ConfigProvider.entry(serializer: KSerializer<S>, default: Provider<S>, vararg path: String, transform: (S) -> T): Provider<T>

Gets an entry Provider for a value deserialized by serializer under path, transformed to T by transform. Falls back to the transformed default if the entry does not exist or could not be deserialized or transformed due to SerializationException.

fun <S : Any, T : Any> Provider<ConfigProvider>.entry(serializer: KSerializer<S>, default: S, vararg paths: List<String>, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> Provider<ConfigProvider>.entry(serializer: KSerializer<S>, default: Provider<S>, vararg paths: List<String>, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> ConfigProvider.entry(serializer: KSerializer<S>, default: S, vararg paths: List<String>, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> ConfigProvider.entry(serializer: KSerializer<S>, default: Provider<S>, vararg paths: List<String>, transform: (S) -> T): Provider<T>

Gets an entry Provider for a value deserialized by serializer under the first existing path from paths, transformed to T by transform. Falls back to the transformed default if no entry exists or could not be deserialized or transformed due to SerializationException.

Link copied to clipboard
inline fun <T : Any> Provider<ConfigProvider>.entryOrElse(default: T?, vararg path: String): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.entryOrElse(default: T?, vararg paths: List<String>): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.entryOrElse(default: Provider<T>?, vararg path: String): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.entryOrElse(default: Provider<T>?, vararg paths: List<String>): Provider<T>
inline fun <T : Any> ConfigProvider.entryOrElse(default: T?, vararg paths: Array<String>): Provider<T>
inline fun <T : Any> ConfigProvider.entryOrElse(default: T?, vararg path: String): Provider<T>
inline fun <T : Any> ConfigProvider.entryOrElse(default: Provider<T>?, vararg paths: Array<String>): Provider<T>
inline fun <T : Any> ConfigProvider.entryOrElse(default: Provider<T>?, vararg path: String): Provider<T>
fun <T : Any> ConfigProvider.entryOrElse(type: KType, default: Provider<T>?, vararg paths: Array<String>): Provider<T>
fun <T : Any> ConfigProvider.entryOrElse(type: KType, default: Provider<T>?, vararg path: String): Provider<T>
Link copied to clipboard
open override fun <R> flatMap(transform: (JsonElement) -> Provider<R>): Provider<R>
Link copied to clipboard
open override fun get(): JsonElement
Link copied to clipboard
open operator override fun <X> getValue(thisRef: X?, property: KProperty<*>?): JsonElement
Link copied to clipboard
open override fun handleParentUpdated(updatedParent: Provider<*>)
Link copied to clipboard
open override fun <R> immediateFlatMap(transform: (JsonElement) -> Provider<R>): Provider<R>
Link copied to clipboard
open override fun <R> immediateFlatMapMutable(transform: (JsonElement) -> MutableProvider<R>): MutableProvider<R>
Link copied to clipboard
open override fun <R> map(transform: (JsonElement) -> R): Provider<R>
Link copied to clipboard
open override fun node(path: List<String>): ConfigProvider.Empty

Gets a ConfigProvider scoped to the sub-node at path.

Link copied to clipboard
fun Provider<ConfigProvider>.node(vararg path: String): Provider<ConfigProvider>

Gets a ConfigProvider scoped to the sub-node at path.

Link copied to clipboard
open override fun observe(action: () -> Unit)
Link copied to clipboard
open override fun <R : Any> observeWeak(owner: R, action: (owner: R) -> Unit)
Link copied to clipboard
open override fun <T : Any> optionalEntry(type: KType, vararg paths: List<String>): Provider<Nothing?>

Gets an optional entry Provider for a value of type under the first existing path from paths, whose value will be null if no entry exists or could not be deserialized due to SerializationException.

open override fun <T : Any> optionalEntry(serializer: KSerializer<T>, vararg paths: List<String>): Provider<Nothing?>

Gets an optional entry Provider for a value deserialized by serializer under the first existing path from paths, whose value will be null if no entry exists or could not be deserialized due to SerializationException.

Link copied to clipboard
inline fun <T : Any> Provider<ConfigProvider>.optionalEntry(vararg path: String): Provider<T?>
inline fun <T : Any> ConfigProvider.optionalEntry(vararg path: String): Provider<T?>

Gets an optional entry Provider for a value of type T under path, whose value will be null if the entry does not exist or could not be deserialized due to SerializationException.

inline fun <T : Any> Provider<ConfigProvider>.optionalEntry(vararg paths: List<String>): Provider<T?>
inline fun <T : Any> ConfigProvider.optionalEntry(vararg paths: List<String>): Provider<T?>

Gets an optional entry Provider for a value of type T under the first existing path from paths, whose value will be null if no entry exists or could not be deserialized due to SerializationException.

fun <T : Any> Provider<ConfigProvider>.optionalEntry(serializer: KSerializer<T>, vararg path: String): Provider<T?>
fun <T : Any> ConfigProvider.optionalEntry(serializer: KSerializer<T>, vararg path: String): Provider<T?>

Gets an optional entry Provider for a value deserialized by serializer under path, whose value will be null if the entry does not exist or could not be deserialized due to SerializationException.

fun <T : Any> Provider<ConfigProvider>.optionalEntry(serializer: KSerializer<T>, vararg paths: List<String>): Provider<T?>

Gets an optional entry Provider for a value deserialized by serializer under the first existing path from paths, whose value will be null if no entry exists or could not be deserialized due to SerializationException.

Link copied to clipboard
open override fun removeStrongChild(child: Provider<*>)
Link copied to clipboard
open override fun removeWeakChild(child: Provider<*>)
Link copied to clipboard
open override fun <S : Any, T : Any> strongEntry(type: KType, default: Provider<S>, transform: (S) -> T, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value of type under the first existing path from paths, transformed to T by transform. Falls back to the transformed default if no entry exists or could not be deserialized or transformed due to SerializationException.

open override fun <S : Any, T : Any> strongEntry(serializer: KSerializer<S>, default: Provider<S>, transform: (S) -> T, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value deserialized by serializer under the first existing path from paths, transformed to T by transform. Falls back to the transformed default if no entry exists or could not be deserialized or transformed due to SerializationException.

Link copied to clipboard
inline fun <T : Any> Provider<ConfigProvider>.strongEntry(vararg path: String): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.strongEntry(vararg paths: List<String>): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntry(vararg paths: Array<String>): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntry(vararg path: String): Provider<T>

inline fun <T : Any> Provider<ConfigProvider>.strongEntry(default: T, vararg path: String): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.strongEntry(default: Provider<T>, vararg path: String): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntry(default: T, vararg path: String): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntry(default: Provider<T>, vararg path: String): Provider<T>

Gets an entry Provider for a value of type T under path. Falls back to default if the entry does not exist or could not be deserialized due to SerializationException.

inline fun <T : Any> Provider<ConfigProvider>.strongEntry(default: T, vararg paths: List<String>): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.strongEntry(default: Provider<T>, vararg paths: List<String>): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntry(default: T, vararg paths: List<String>): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntry(default: Provider<T>, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value of type T under the first existing path from paths. Falls back to default if no entry exists or could not be deserialized due to SerializationException.

inline fun <S : Any, T : Any> Provider<ConfigProvider>.strongEntry(default: S, vararg path: String, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> Provider<ConfigProvider>.strongEntry(default: Provider<S>, vararg path: String, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> ConfigProvider.strongEntry(default: S, vararg path: String, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> ConfigProvider.strongEntry(default: Provider<S>, vararg path: String, noinline transform: (S) -> T): Provider<T>

Gets an entry Provider for a value of type S under path, transformed to T by transform. Falls back to the transformed default if the entry does not exist or could not be deserialized or transformed due to SerializationException.

inline fun <S : Any, T : Any> Provider<ConfigProvider>.strongEntry(default: S, vararg paths: List<String>, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> Provider<ConfigProvider>.strongEntry(default: Provider<S>, vararg paths: List<String>, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> ConfigProvider.strongEntry(default: S, vararg paths: List<String>, noinline transform: (S) -> T): Provider<T>
inline fun <S : Any, T : Any> ConfigProvider.strongEntry(default: Provider<S>, vararg paths: List<String>, noinline transform: (S) -> T): Provider<T>

Gets an entry Provider for a value of type S under the first existing path from paths, transformed to T by transform. Falls back to the transformed default if no entry exists or could not be deserialized or transformed due to SerializationException.

fun <T : Any> Provider<ConfigProvider>.strongEntry(serializer: KSerializer<T>, default: T, vararg path: String): Provider<T>
fun <T : Any> Provider<ConfigProvider>.strongEntry(serializer: KSerializer<T>, default: Provider<T>, vararg path: String): Provider<T>
fun <T : Any> ConfigProvider.strongEntry(serializer: KSerializer<T>, default: T, vararg path: String): Provider<T>
fun <T : Any> ConfigProvider.strongEntry(serializer: KSerializer<T>, default: Provider<T>, vararg path: String): Provider<T>

Gets an entry Provider for a value deserialized by serializer under path. Falls back to default if the entry does not exist or could not be deserialized due to SerializationException.

fun <T : Any> Provider<ConfigProvider>.strongEntry(serializer: KSerializer<T>, default: T, vararg paths: List<String>): Provider<T>
fun <T : Any> Provider<ConfigProvider>.strongEntry(serializer: KSerializer<T>, default: Provider<T>, vararg paths: List<String>): Provider<T>
fun <T : Any> ConfigProvider.strongEntry(serializer: KSerializer<T>, default: T, vararg paths: List<String>): Provider<T>
fun <T : Any> ConfigProvider.strongEntry(serializer: KSerializer<T>, default: Provider<T>, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value deserialized by serializer under the first existing path from paths. Falls back to default if no entry exists or could not be deserialized due to SerializationException.

fun <T : Any> ConfigProvider.strongEntry(type: KType, default: Provider<T>, vararg paths: List<String>): Provider<T>

Gets an entry Provider for a value of type under the first existing path from paths. Falls back to default if no entry exists or could not be deserialized due to SerializationException.

fun <S : Any, T : Any> Provider<ConfigProvider>.strongEntry(serializer: KSerializer<S>, default: S, vararg path: String, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> Provider<ConfigProvider>.strongEntry(serializer: KSerializer<S>, default: Provider<S>, vararg path: String, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> ConfigProvider.strongEntry(serializer: KSerializer<S>, default: S, vararg path: String, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> ConfigProvider.strongEntry(serializer: KSerializer<S>, default: Provider<S>, vararg path: String, transform: (S) -> T): Provider<T>

Gets an entry Provider for a value deserialized by serializer under path, transformed to T by transform. Falls back to the transformed default if the entry does not exist or could not be deserialized or transformed due to SerializationException.

fun <S : Any, T : Any> Provider<ConfigProvider>.strongEntry(serializer: KSerializer<S>, default: S, vararg paths: List<String>, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> Provider<ConfigProvider>.strongEntry(serializer: KSerializer<S>, default: Provider<S>, vararg paths: List<String>, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> ConfigProvider.strongEntry(serializer: KSerializer<S>, default: S, vararg paths: List<String>, transform: (S) -> T): Provider<T>
fun <S : Any, T : Any> ConfigProvider.strongEntry(serializer: KSerializer<S>, default: Provider<S>, vararg paths: List<String>, transform: (S) -> T): Provider<T>

Gets an entry Provider for a value deserialized by serializer under the first existing path from paths, transformed to T by transform. Falls back to the transformed default if no entry exists or could not be deserialized or transformed due to SerializationException.

Link copied to clipboard
inline fun <T : Any> Provider<ConfigProvider>.strongEntryOrElse(default: T?, vararg path: String): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.strongEntryOrElse(default: T?, vararg paths: List<String>): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.strongEntryOrElse(default: Provider<T>?, vararg path: String): Provider<T>
inline fun <T : Any> Provider<ConfigProvider>.strongEntryOrElse(default: Provider<T>?, vararg paths: List<String>): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntryOrElse(default: T?, vararg paths: Array<String>): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntryOrElse(default: T?, vararg path: String): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntryOrElse(default: Provider<T>?, vararg paths: Array<String>): Provider<T>
inline fun <T : Any> ConfigProvider.strongEntryOrElse(default: Provider<T>?, vararg path: String): Provider<T>
fun <T : Any> ConfigProvider.strongEntryOrElse(type: KType, default: Provider<T>?, vararg paths: Array<String>): Provider<T>
fun <T : Any> ConfigProvider.strongEntryOrElse(type: KType, default: Provider<T>?, vararg path: String): Provider<T>
Link copied to clipboard
open override fun <R> strongFlatMap(transform: (JsonElement) -> Provider<R>): Provider<R>
Link copied to clipboard
open override fun <R> strongImmediateFlatMap(transform: (JsonElement) -> Provider<R>): Provider<R>
Link copied to clipboard
open override fun <R> strongImmediateFlatMapMutable(transform: (JsonElement) -> MutableProvider<R>): MutableProvider<R>
Link copied to clipboard
open override fun <R> strongMap(transform: (JsonElement) -> R): Provider<R>
Link copied to clipboard
open override fun strongNode(path: List<String>): ConfigProvider.Empty

Gets a ConfigProvider scoped to the sub-node at path.

Link copied to clipboard
fun Provider<ConfigProvider>.strongNode(vararg path: String): Provider<ConfigProvider>

Gets a ConfigProvider scoped to the sub-node at path.

Link copied to clipboard
open override fun <T : Any> strongOptionalEntry(type: KType, vararg paths: List<String>): Provider<Nothing?>

Gets an optional entry Provider for a value of type under the first existing path from paths, whose value will be null if no entry exists or could not be deserialized due to SerializationException.

open override fun <T : Any> strongOptionalEntry(serializer: KSerializer<T>, vararg paths: List<String>): Provider<Nothing?>

Gets an optional entry Provider for a value deserialized by serializer under the first existing path from paths, whose value will be null if no entry exists or could not be deserialized due to SerializationException.

Link copied to clipboard
inline fun <T : Any> Provider<ConfigProvider>.strongOptionalEntry(vararg path: String): Provider<T?>
inline fun <T : Any> ConfigProvider.strongOptionalEntry(vararg path: String): Provider<T?>

Gets an optional entry Provider for a value of type T under path, whose value will be null if the entry does not exist or could not be deserialized due to SerializationException.

inline fun <T : Any> Provider<ConfigProvider>.strongOptionalEntry(vararg paths: List<String>): Provider<T?>
inline fun <T : Any> ConfigProvider.strongOptionalEntry(vararg paths: List<String>): Provider<T?>

Gets an optional entry Provider for a value of type T under the first existing path from paths, whose value will be null if no entry exists or could not be deserialized due to SerializationException.

fun <T : Any> Provider<ConfigProvider>.strongOptionalEntry(serializer: KSerializer<T>, vararg path: String): Provider<T?>
fun <T : Any> ConfigProvider.strongOptionalEntry(serializer: KSerializer<T>, vararg path: String): Provider<T?>

Gets an optional entry Provider for a value deserialized by serializer under path, whose value will be null if the entry does not exist or could not be deserialized due to SerializationException.

fun <T : Any> Provider<ConfigProvider>.strongOptionalEntry(serializer: KSerializer<T>, vararg paths: List<String>): Provider<T?>

Gets an optional entry Provider for a value deserialized by serializer under the first existing path from paths, whose value will be null if no entry exists or could not be deserialized due to SerializationException.

Link copied to clipboard
open override fun subscribe(action: (value: JsonElement) -> Unit)
Link copied to clipboard
open override fun <R : Any> subscribeWeak(owner: R, action: (owner: R, value: JsonElement) -> Unit)
Link copied to clipboard
open override fun unobserve(action: () -> Unit)
Link copied to clipboard
open override fun <R : Any> unobserveWeak(owner: R)
open override fun <R : Any> unobserveWeak(owner: R, action: (R) -> Unit)
Link copied to clipboard
open override fun unsubscribe(action: (JsonElement) -> Unit)
Link copied to clipboard
open override fun <R : Any> unsubscribeWeak(owner: R)
open override fun <R : Any> unsubscribeWeak(owner: R, action: (R, JsonElement) -> Unit)