Skip to content

Commit

Permalink
add microutils and support of native platforms
Browse files Browse the repository at this point in the history
  • Loading branch information
InsanusMokrassar committed May 11, 2023
1 parent 33775f3 commit 1ed1235
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 39 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## 0.16.0

Add `MicroUtils` as used micro utils

* Versions:
* `Kotlin`: `1.8.21`
* `Ktor`: `2.3.0`
Expand Down
18 changes: 17 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,19 @@ repositories {
}

kotlin {
jvm()
jvm {
compilations.main {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
js(IR) {
browser()
nodejs()
}
linuxX64()
mingwX64()


sourceSets {
Expand All @@ -44,6 +52,9 @@ kotlin {
api libs.kt.serialization
api libs.klock
api libs.ktor.client
api libs.microutils.common
api libs.microutils.ktor.common
api libs.microutils.mimetypes
}
}
commonTest {
Expand All @@ -65,3 +76,8 @@ kotlin {
}
}
}

java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
8 changes: 8 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ kt-coroutines = "1.6.4"
klock = "3.4.0"
ktor = "2.3.0"

microutils = "0.18.2"

okio = "3.3.0"

gh-release = "2.4.1"

[libraries]
Expand All @@ -20,6 +24,10 @@ klock = { module = "com.soywiz.korlibs.klock:klock", version.ref = "klock" }
ktor-client = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }

microutils-common = { module = "dev.inmo:micro_utils.common", version.ref = "microutils" }
microutils-ktor-common = { module = "dev.inmo:micro_utils.ktor.common", version.ref = "microutils" }
microutils-mimetypes = { module = "dev.inmo:micro_utils.mime_types", version.ref = "microutils" }

buildscript-kt-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kt" }
buildscript-kt-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kt" }
buildscript-gh-release = { module = "com.github.breadmoirai:github-release", version.ref = "gh-release" }
Expand Down
8 changes: 5 additions & 3 deletions src/commonMain/kotlin/dev/inmo/saucenaoapi/SauceNaoAPI.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package dev.inmo.saucenaoapi

import dev.inmo.micro_utils.common.MPPFile
import dev.inmo.micro_utils.ktor.common.input
import dev.inmo.saucenaoapi.exceptions.TooManyRequestsException
import dev.inmo.saucenaoapi.exceptions.sauceNaoAPIException
import dev.inmo.saucenaoapi.models.*
Expand Down Expand Up @@ -189,7 +191,7 @@ data class SauceNaoAPI(
resultsCount: Int? = null,
minSimilarity: Float? = null
): SauceNaoAnswer = request(
file.input,
file.input(),
file.contentType,
resultsCount,
minSimilarity
Expand All @@ -206,7 +208,7 @@ data class SauceNaoAPI(
resultsCount: Int? = null,
minSimilarity: Float? = null
): SauceNaoAnswer = requestByDBs(
file.input,
file.input(),
file.contentType,
db,
dbs,
Expand All @@ -228,7 +230,7 @@ data class SauceNaoAPI(
resultsCount: Int? = null,
minSimilarity: Float? = null
): SauceNaoAnswer = requestByMasks(
file.input,
file.input(),
file.contentType,
mask,
excludedMask,
Expand Down
23 changes: 20 additions & 3 deletions src/commonMain/kotlin/dev/inmo/saucenaoapi/utils/MPPFile.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,26 @@
package dev.inmo.saucenaoapi.utils

import dev.inmo.micro_utils.common.MPPFile
import dev.inmo.micro_utils.common.filename
import dev.inmo.micro_utils.ktor.common.input
import dev.inmo.micro_utils.mime_types.KnownMimeTypes
import dev.inmo.micro_utils.mime_types.getMimeType
import io.ktor.http.ContentType
import io.ktor.utils.io.core.Input

expect class MPPFile
@Deprecated(
"MPPFile from microutils is preferable since 0.16.0",
ReplaceWith("MPPFile", "dev.inmo.micro_utils.common.MPPFile")
)
typealias MPPFile = MPPFile

expect val MPPFile.input: Input
expect val MPPFile.contentType: ContentType
@Deprecated(
"input() from microutils is preferable since 0.16.0",
ReplaceWith("this.input()", "dev.inmo.micro_utils.ktor.common.input")
)
val MPPFile.input: Input
get() = input()
val MPPFile.contentType: ContentType
get() = ContentType.parse(
getMimeType(stringWithExtension = filename.extension) ?.raw ?: KnownMimeTypes.Any.raw
)
18 changes: 0 additions & 18 deletions src/jsMain/kotlin/dev/inmo/saucenaoapi/utils/ActualMPPFile.kt

This file was deleted.

14 changes: 0 additions & 14 deletions src/jvmMain/kotlin/dev/inmo/saucenaoapi/utils/ActualMPPFile.kt

This file was deleted.

0 comments on commit 1ed1235

Please sign in to comment.