Skip to content

Commit

Permalink
Add explicit return types and visibility modifiers for public members
Browse files Browse the repository at this point in the history
  • Loading branch information
russhwolf committed May 29, 2018
1 parent f742f5e commit 2c9e9e7
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,68 +22,68 @@ import kotlin.reflect.KProperty
/**
* Returns an [Int] property delegate, backed by this [Settings] instance using the provided [key], with initial value [defaultValue].
*/
fun Settings.int(key: String, defaultValue: Int = 0): ReadWriteProperty<Any?, Int> =
public fun Settings.int(key: String, defaultValue: Int = 0): ReadWriteProperty<Any?, Int> =
IntDelegate(this, key, defaultValue)

/**
* Returns a [Long] property delegate, backed by this [Settings] instance using the provided [key], with initial value [defaultValue].
*/
fun Settings.long(key: String, defaultValue: Long = 0): ReadWriteProperty<Any?, Long> =
public fun Settings.long(key: String, defaultValue: Long = 0): ReadWriteProperty<Any?, Long> =
LongDelegate(this, key, defaultValue)

/**
* Returns a [String] property delegate, backed by this [Settings] instance using the provided [key], with initial value [defaultValue].
*/
fun Settings.string(key: String, defaultValue: String = ""): ReadWriteProperty<Any?, String> =
public fun Settings.string(key: String, defaultValue: String = ""): ReadWriteProperty<Any?, String> =
StringDelegate(this, key, defaultValue)

/**
* Returns a [Float] property delegate, backed by this [Settings] instance using the provided [key], with initial value [defaultValue].
*/
fun Settings.float(key: String, defaultValue: Float = 0f): ReadWriteProperty<Any?, Float> =
public fun Settings.float(key: String, defaultValue: Float = 0f): ReadWriteProperty<Any?, Float> =
FloatDelegate(this, key, defaultValue)

/**
* Returns a [Double] property delegate, backed by this [Settings] instance using the provided [key], with initial value [defaultValue].
*/
fun Settings.double(key: String, defaultValue: Double = 0.0): ReadWriteProperty<Any?, Double> =
public fun Settings.double(key: String, defaultValue: Double = 0.0): ReadWriteProperty<Any?, Double> =
DoubleDelegate(this, key, defaultValue)

/**
* Returns a [Boolean] property delegate, backed by this [Settings] instance using the provided [key], with initial value [defaultValue].
*/
fun Settings.boolean(key: String, defaultValue: Boolean = false): ReadWriteProperty<Any?, Boolean> =
public fun Settings.boolean(key: String, defaultValue: Boolean = false): ReadWriteProperty<Any?, Boolean> =
BooleanDelegate(this, key, defaultValue)

/**
* Returns a nullable [Int] property delegate, backed by this [Settings] instance using the provided [key], with initial value `null`
*/
fun Settings.nullableInt(key: String): ReadWriteProperty<Any?, Int?> = NullableIntDelegate(this, key)
public fun Settings.nullableInt(key: String): ReadWriteProperty<Any?, Int?> = NullableIntDelegate(this, key)

/**
* Returns a nullable [Long] property delegate, backed by this [Settings] instance using the provided [key], with initial value `null`
*/
fun Settings.nullableLong(key: String): ReadWriteProperty<Any?, Long?> = NullableLongDelegate(this, key)
public fun Settings.nullableLong(key: String): ReadWriteProperty<Any?, Long?> = NullableLongDelegate(this, key)

/**
* Returns a nullable [String] property delegate, backed by this [Settings] instance using the provided [key], with initial value `null`
*/
fun Settings.nullableString(key: String): ReadWriteProperty<Any?, String?> = NullableStringDelegate(this, key)
public fun Settings.nullableString(key: String): ReadWriteProperty<Any?, String?> = NullableStringDelegate(this, key)

/**
* Returns a nullable [Float] property delegate, backed by this [Settings] instance using the provided [key], with initial value `null`
*/
fun Settings.nullableFloat(key: String): ReadWriteProperty<Any?, Float?> = NullableFloatDelegate(this, key)
public fun Settings.nullableFloat(key: String): ReadWriteProperty<Any?, Float?> = NullableFloatDelegate(this, key)

/**
* Returns a nullable [Double] property delegate, backed by this [Settings] instance using the provided [key], with initial value `null`
*/
fun Settings.nullableDouble(key: String): ReadWriteProperty<Any?, Double?> = NullableDoubleDelegate(this, key)
public fun Settings.nullableDouble(key: String): ReadWriteProperty<Any?, Double?> = NullableDoubleDelegate(this, key)

/**
* Returns a nullable [Boolean] property delegate, backed by this [Settings] instance using the provided [key], with initial value `null`
*/
fun Settings.nullableBoolean(key: String): ReadWriteProperty<Any?, Boolean?> = NullableBooleanDelegate(this, key)
public fun Settings.nullableBoolean(key: String): ReadWriteProperty<Any?, Boolean?> = NullableBooleanDelegate(this, key)

private class IntDelegate(
private val settings: Settings,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,97 +32,97 @@ expect class Settings {
/**
* Clear all values stored in this [Settings] instance
*/
fun clear()
public fun clear(): Unit

/**
* Remove the value stored at [key]
*/
fun remove(key: String)
public fun remove(key: String): Unit

/**
* Returns `true` if there is a value stored at [key], or `false` otherwise
*/
fun hasKey(key: String): Boolean
public fun hasKey(key: String): Boolean

/**
* Stores the `Int` [value] at [key].
*/
fun putInt(key: String, value: Int)
public fun putInt(key: String, value: Int): Unit

/**
* Returns the `Int` value stored at [key], or [defaultValue] if no value was stored. If a value
* of a different type was stored at [key], the behavior is not defined.
*/
fun getInt(key: String, defaultValue: Int = 0): Int
public fun getInt(key: String, defaultValue: Int = 0): Int

/**
* Stores the `Long` [value] at [key].
*/
fun putLong(key: String, value: Long)
public fun putLong(key: String, value: Long): Unit

/**
* Returns the `Long` value stored at [key], or [defaultValue] if no value was stored. If a value
* of a different type was stored at [key], the behavior is not defined.
*/
fun getLong(key: String, defaultValue: Long = 0): Long
public fun getLong(key: String, defaultValue: Long = 0): Long

/**
* Stores the `String` [value] at [key].
*/
fun putString(key: String, value: String)
public fun putString(key: String, value: String): Unit

/**
* Returns the `String` value stored at [key], or [defaultValue] if no value was stored. If a value
* of a different type was stored at [key], the behavior is not defined.
*/
fun getString(key: String, defaultValue: String = ""): String
public fun getString(key: String, defaultValue: String = ""): String

/**
* Stores the `Float` [value] at [key].
*/
fun putFloat(key: String, value: Float)
public fun putFloat(key: String, value: Float): Unit

/**
* Returns the `Float` value stored at [key], or [defaultValue] if no value was stored. If a value
* of a different type was stored at [key], the behavior is not defined.
*/
fun getFloat(key: String, defaultValue: Float = 0f): Float
public fun getFloat(key: String, defaultValue: Float = 0f): Float

/**
* Stores the `Double` [value] at [key].
*/
fun putDouble(key: String, value: Double)
public fun putDouble(key: String, value: Double): Unit

/**
* Returns the `Double` value stored at [key], or [defaultValue] if no value was stored. If a value
* of a different type was stored at [key], the behavior is not defined.
*/
fun getDouble(key: String, defaultValue: Double = 0.0): Double
public fun getDouble(key: String, defaultValue: Double = 0.0): Double

/**
* Stores the `Boolean` [value] at [key].
*/
fun putBoolean(key: String, value: Boolean)
public fun putBoolean(key: String, value: Boolean): Unit

/**
* Returns the `Boolean` value stored at [key], or [defaultValue] if no value was stored. If a value
* of a different type was stored at [key], the behavior is not defined.
*/
fun getBoolean(key: String, defaultValue: Boolean = false): Boolean
public fun getBoolean(key: String, defaultValue: Boolean = false): Boolean

}

operator fun Settings.contains(key: String) = hasKey(key)
operator fun Settings.minusAssign(key: String) = remove(key)
operator fun Settings.get(key: String, defaultValue: Int) = getInt(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: Long) = getLong(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: String) = getString(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: Float) = getFloat(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: Double) = getDouble(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: Boolean) = getBoolean(key, defaultValue)
operator fun Settings.set(key: String, value: Int) = putInt(key, value)
operator fun Settings.set(key: String, value: Long) = putLong(key, value)
operator fun Settings.set(key: String, value: String) = putString(key, value)
operator fun Settings.set(key: String, value: Float) = putFloat(key, value)
operator fun Settings.set(key: String, value: Double) = putDouble(key, value)
operator fun Settings.set(key: String, value: Boolean) = putBoolean(key, value)
operator fun Settings.contains(key: String): Boolean = hasKey(key)
operator fun Settings.minusAssign(key: String): Unit = remove(key)
operator fun Settings.get(key: String, defaultValue: Int): Int = getInt(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: Long): Long = getLong(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: String): String = getString(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: Float): Float = getFloat(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: Double): Double = getDouble(key, defaultValue)
operator fun Settings.get(key: String, defaultValue: Boolean): Boolean = getBoolean(key, defaultValue)
operator fun Settings.set(key: String, value: Int): Unit = putInt(key, value)
operator fun Settings.set(key: String, value: Long): Unit = putLong(key, value)
operator fun Settings.set(key: String, value: String): Unit = putString(key, value)
operator fun Settings.set(key: String, value: Float): Unit = putFloat(key, value)
operator fun Settings.set(key: String, value: Double): Unit = putDouble(key, value)
operator fun Settings.set(key: String, value: Boolean): Unit = putBoolean(key, value)

0 comments on commit 2c9e9e7

Please sign in to comment.