Foundations(iOS Sourceset): Provide implementation for GZip compression/decompression. Some small fixes in URLs.ios.kt .
This commit is contained in:
@@ -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