From 4e2f779b54598c0aa0165864beb5889ea81c824c Mon Sep 17 00:00:00 2001 From: KotlinGeekDev Date: Tue, 27 Jan 2026 16:31:04 +0100 Subject: [PATCH] Foundations(iOS Sourceset): Provide implementation for UrlEncoder. --- gradle/libs.versions.toml | 2 ++ quartz/build.gradle.kts | 1 + .../com/vitorpamplona/quartz/utils/UrlEncoder.ios.kt | 12 +++++------- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index af0f81b35..898262946 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -44,6 +44,7 @@ mockk = "1.14.7" mokoResources = "0.25.2" kotlinx-coroutines-test = "1.10.2" navigationCompose = "2.9.6" +netUrlencoderLibVersion = "1.6.0" okhttp = "5.3.2" runner = "1.7.0" rfc3986 = "0.1.2" @@ -142,6 +143,7 @@ mockk-android = { group = "io.mockk", name = "mockk-android", version.ref = "moc moko-resources = { group = "dev.icerock.moko", name = "resources", version.ref = "mokoResources" } moko-resources-compose = { group = "dev.icerock.moko", name = "resources-compose", version.ref = "mokoResources" } kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines-test"} +net-thauvin-erik-urlencoder-lib = { module = "net.thauvin.erik.urlencoder:urlencoder-lib", version.ref = "netUrlencoderLibVersion" } okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } okhttpCoroutines = { group = "com.squareup.okhttp3", name = "okhttp-coroutines", version.ref = "okhttp" } rfc3986-normalizer = { group = "org.czeal", name = "rfc3986", version.ref = "rfc3986" } diff --git a/quartz/build.gradle.kts b/quartz/build.gradle.kts index 68adad906..a1c2b00c0 100644 --- a/quartz/build.gradle.kts +++ b/quartz/build.gradle.kts @@ -251,6 +251,7 @@ kotlin { dependsOn(commonMain.get()) dependencies { implementation(libs.charlietap.cachemap) + implementation(libs.net.thauvin.erik.urlencoder.lib) } } diff --git a/quartz/src/iosMain/kotlin/com/vitorpamplona/quartz/utils/UrlEncoder.ios.kt b/quartz/src/iosMain/kotlin/com/vitorpamplona/quartz/utils/UrlEncoder.ios.kt index 931211088..d6bd232c2 100644 --- a/quartz/src/iosMain/kotlin/com/vitorpamplona/quartz/utils/UrlEncoder.ios.kt +++ b/quartz/src/iosMain/kotlin/com/vitorpamplona/quartz/utils/UrlEncoder.ios.kt @@ -20,12 +20,10 @@ */ package com.vitorpamplona.quartz.utils -actual object UrlEncoder { - actual fun encode(value: String): String { - TODO("Not yet implemented") - } +import net.thauvin.erik.urlencoder.UrlEncoderUtil - actual fun decode(value: String): String { - TODO("Not yet implemented") - } +actual object UrlEncoder { + actual fun encode(value: String): String = UrlEncoderUtil.encode(value) + + actual fun decode(value: String): String = UrlEncoderUtil.decode(value) }