Merge pull request #86 from InsanusMokrassar/0.5.20

0.5.20
This commit is contained in:
InsanusMokrassar 2021-08-16 19:14:56 +06:00 committed by GitHub
commit 9a18ded65b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 2 deletions

View File

@ -1,5 +1,13 @@
# Changelog # Changelog
## 0.5.20
* `Repos`:
* `Common`
* `Android`:
* `*OrNull` analogs of `Cursor.get*(String)` extensions have been added
* Extensions `Cursor.getFloat` and `Cursor.getFloatOrNull` have been added
## 0.5.19 ## 0.5.19
* `LanguageCode`: * `LanguageCode`:

View File

@ -45,5 +45,5 @@ dokka_version=1.5.0
# Project data # Project data
group=dev.inmo group=dev.inmo
version=0.5.19 version=0.5.20
android_code_version=60 android_code_version=61

View File

@ -2,6 +2,8 @@ package dev.inmo.micro_utils.repos
import android.database.Cursor import android.database.Cursor
import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteDatabase
import androidx.core.database.*
import dev.inmo.micro_utils.repos.getLongOrNull
fun createTableQuery( fun createTableQuery(
tableName: String, tableName: String,
@ -32,6 +34,11 @@ fun SQLiteDatabase.createTable(
fun Cursor.getString(columnName: String): String = getString( fun Cursor.getString(columnName: String): String = getString(
getColumnIndexOrThrow(columnName) getColumnIndexOrThrow(columnName)
) )
fun Cursor.getStringOrNull(columnName: String): String? {
return getStringOrNull(
getColumnIndex(columnName).takeIf { it != -1 } ?: return null
)
}
/** /**
* @throws IllegalArgumentException * @throws IllegalArgumentException
@ -39,6 +46,11 @@ fun Cursor.getString(columnName: String): String = getString(
fun Cursor.getShort(columnName: String): Short = getShort( fun Cursor.getShort(columnName: String): Short = getShort(
getColumnIndexOrThrow(columnName) getColumnIndexOrThrow(columnName)
) )
fun Cursor.getShortOrNull(columnName: String): Short? {
return getShortOrNull(
getColumnIndex(columnName).takeIf { it != -1 } ?: return null
)
}
/** /**
* @throws IllegalArgumentException * @throws IllegalArgumentException
@ -46,6 +58,11 @@ fun Cursor.getShort(columnName: String): Short = getShort(
fun Cursor.getLong(columnName: String): Long = getLong( fun Cursor.getLong(columnName: String): Long = getLong(
getColumnIndexOrThrow(columnName) getColumnIndexOrThrow(columnName)
) )
fun Cursor.getLongOrNull(columnName: String): Long? {
return getLongOrNull(
getColumnIndex(columnName).takeIf { it != -1 } ?: return null
)
}
/** /**
* @throws IllegalArgumentException * @throws IllegalArgumentException
@ -53,6 +70,23 @@ fun Cursor.getLong(columnName: String): Long = getLong(
fun Cursor.getInt(columnName: String): Int = getInt( fun Cursor.getInt(columnName: String): Int = getInt(
getColumnIndexOrThrow(columnName) getColumnIndexOrThrow(columnName)
) )
fun Cursor.getIntOrNull(columnName: String): Int? {
return getIntOrNull(
getColumnIndex(columnName).takeIf { it != -1 } ?: return null
)
}
/**
* @throws IllegalArgumentException
*/
fun Cursor.getFloat(columnName: String): Float = getFloat(
getColumnIndexOrThrow(columnName)
)
fun Cursor.getFloatOrNull(columnName: String): Float? {
return getFloatOrNull(
getColumnIndex(columnName).takeIf { it != -1 } ?: return null
)
}
/** /**
* @throws IllegalArgumentException * @throws IllegalArgumentException
@ -60,6 +94,11 @@ fun Cursor.getInt(columnName: String): Int = getInt(
fun Cursor.getDouble(columnName: String): Double = getDouble( fun Cursor.getDouble(columnName: String): Double = getDouble(
getColumnIndexOrThrow(columnName) getColumnIndexOrThrow(columnName)
) )
fun Cursor.getDoubleOrNull(columnName: String): Double? {
return getDoubleOrNull(
getColumnIndex(columnName).takeIf { it != -1 } ?: return null
)
}
fun SQLiteDatabase.select( fun SQLiteDatabase.select(
table: String, table: String,