Created
June 17, 2019 23:59
-
-
Save ashughes/dfca38c845eda0c8c721fd64e5ec1352 to your computer and use it in GitHub Desktop.
WorkManager data extensions to add require*() methods
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
inline fun Data.requireBoolean(key: String): Boolean = keyValueMap[key] as? Boolean ?: throw IllegalArgumentException("Missing boolean value for key: $key") | |
inline fun Data.requireBooleanArray(key: String): BooleanArray = getBooleanArray(key) ?: throw IllegalArgumentException("Missing boolean array value for key: $key") | |
inline fun Data.requireByte(key: String): Byte = keyValueMap[key] as? Byte ?: throw IllegalArgumentException("Missing byte value for key: $key") | |
inline fun Data.requireByteArray(key: String): ByteArray = getByteArray(key) ?: throw IllegalArgumentException("Missing byte array value for key: $key") | |
inline fun Data.requireInt(key: String): Int = keyValueMap[key] as? Int ?: throw IllegalArgumentException("Missing int value for key: $key") | |
inline fun Data.requireIntArray(key: String): IntArray = getIntArray(key) ?: throw IllegalArgumentException("Missing int array value for key: $key") | |
inline fun Data.requireLong(key: String): Long = keyValueMap[key] as? Long ?: throw IllegalArgumentException("Missing long value for key: $key") | |
inline fun Data.requireLongArray(key: String): LongArray = getLongArray(key) ?: throw IllegalArgumentException("Missing long array value for key: $key") | |
inline fun Data.requireFloat(key: String): Float = keyValueMap[key] as? Float ?: throw IllegalArgumentException("Missing float value for key: $key") | |
inline fun Data.requireFloatArray(key: String): FloatArray = getFloatArray(key) ?: throw IllegalArgumentException("Missing float array value for key: $key") | |
inline fun Data.requireDouble(key: String): Double = keyValueMap[key] as? Double ?: throw IllegalArgumentException("Missing double value for key: $key") | |
inline fun Data.requireDoubleArray(key: String): DoubleArray = getDoubleArray(key) ?: throw IllegalArgumentException("Missing double array value for key: $key") | |
inline fun Data.requireString(key: String): String = getString(key) ?: throw IllegalArgumentException("Missing string value for key: $key") | |
inline fun Data.requireStringArray(key: String): Array<out String> = getStringArray(key) ?: throw IllegalArgumentException("Missing string array value for key: $key") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment