Foundations(iOS Sourceset): Provide implementation for GZip compression/decompression. Some small fixes in URLs.ios.kt .
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
[versions]
|
||||
accompanistAdaptive = "0.37.3"
|
||||
cachemapVersion = "0.2.4"
|
||||
comDitchoomBufferCompression = "2.1.0"
|
||||
composeMultiplatform = "1.9.3"
|
||||
activityCompose = "1.12.2"
|
||||
agp = "8.13.2"
|
||||
@@ -118,6 +119,7 @@ coil-compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref
|
||||
coil-gif = { group = "io.coil-kt.coil3", name = "coil-gif", version.ref = "coil" }
|
||||
coil-svg = { group = "io.coil-kt.coil3", name = "coil-svg", version.ref = "coil" }
|
||||
coil-okhttp = { group = "io.coil-kt.coil3", name = "coil-network-okhttp", version.ref = "coil" }
|
||||
com-ditchoom-buffer-compression = { module = "com.ditchoom:buffer-compression", version.ref = "comDitchoomBufferCompression" }
|
||||
drfonfon-geohash = { group = "com.github.drfonfon", name = "android-kotlin-geohash", version.ref = "androidKotlinGeohash" }
|
||||
firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebaseBom" }
|
||||
firebase-messaging = { group = "com.google.firebase", name = "firebase-messaging" }
|
||||
|
||||
@@ -252,6 +252,7 @@ kotlin {
|
||||
dependencies {
|
||||
implementation(libs.charlietap.cachemap)
|
||||
implementation(libs.net.thauvin.erik.urlencoder.lib)
|
||||
implementation(libs.com.ditchoom.buffer.compression)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,29 @@
|
||||
*/
|
||||
package com.vitorpamplona.quartz.utils
|
||||
|
||||
import com.ditchoom.buffer.PlatformBuffer
|
||||
import com.ditchoom.buffer.ReadBuffer
|
||||
import com.ditchoom.buffer.compression.CompressionAlgorithm
|
||||
import com.ditchoom.buffer.compression.getOrThrow
|
||||
import com.ditchoom.buffer.toByteArray
|
||||
import com.ditchoom.buffer.toReadBuffer
|
||||
import com.ditchoom.buffer.wrap
|
||||
import com.ditchoom.buffer.compression.compress as compressData
|
||||
import com.ditchoom.buffer.compression.decompress as decompressData
|
||||
|
||||
actual object GZip {
|
||||
actual fun compress(content: String): ByteArray {
|
||||
TODO("Not yet implemented")
|
||||
val contentBuffer = content.toReadBuffer()
|
||||
val compressedContent = compressData(contentBuffer, algorithm = CompressionAlgorithm.Gzip).getOrThrow().toByteArray()
|
||||
return compressedContent
|
||||
|
||||
}
|
||||
|
||||
actual fun decompress(content: ByteArray): String {
|
||||
TODO("Not yet implemented")
|
||||
val contentBuffer = PlatformBuffer.wrap(content)
|
||||
val decompressedContentBuffer = decompressData(contentBuffer, algorithm = CompressionAlgorithm.Gzip)
|
||||
.getOrThrow()
|
||||
val content = decompressedContentBuffer.toByteArray().decodeToString()
|
||||
return content
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@ package com.vitorpamplona.quartz.utils
|
||||
import kotlinx.cinterop.ExperimentalForeignApi
|
||||
import swiftbridge.UrlDetector
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
@OptIn(ExperimentalForeignApi::class)
|
||||
actual fun fastFindURLs(text: String): List<String> {
|
||||
val detectorInstance = UrlDetector()
|
||||
return detectorInstance.findURLsWithText(text) as List<String>
|
||||
// TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user