Skip to content

//readium-navigator/org.readium.r2.navigator.preferences/map

map

[androidJvm]\ fun <T, V> Preference<T>.map(from: (T) -> V, to: (V) -> T): Preference<V>

Creates a new Preference object wrapping the receiver and converting its value from and to the target type V.

[androidJvm]\ fun <T, V> EnumPreference<T>.map(from: (T) -> V, to: (V) -> T, supportedValues: (List<T>) -> List<V> = { it.map(from) }): EnumPreference<V>

Creates a new EnumPreference object wrapping the receiver and converting its value and supportedValues, from and to the target type V.

[androidJvm]\ fun <T : Comparable<T>, V : Comparable<V>> RangePreference<T>.map(from: (T) -> V, to: (V) -> T, supportedRange: (ClosedRange<T>) -> ClosedRange<V> = { from(it.start)..from(it.endInclusive) }, formatValue: (V) -> String? = null, increment: RangePreference<V>.() -> Unit? = null, decrement: RangePreference<V>.() -> Unit? = null): RangePreference<V>

Creates a new RangePreference object wrapping the receiver and converting its value and supportedRange, from and to the target type V.

The value formatter, or increment and decrement strategy of the receiver can be overwritten.

[androidJvm]\ fun <T : Comparable<T>> RangePreference<T>.map(supportedRange: (ClosedRange<T>) -> ClosedRange<T> = { it }, formatValue: (T) -> String? = null, increment: RangePreference<T>.() -> Unit? = null, decrement: RangePreference<T>.() -> Unit? = null): RangePreference<T>

Creates a new RangePreference object wrapping the receiver and transforming its supportedRange, or overwriting its formatValue or increment and decrement strategy.