From e9c7f351ffc6d402e07d42a2843c2e206272c6da Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Sun, 23 Mar 2025 17:19:42 +0100 Subject: [PATCH 1/2] Move normalization logic back to common sources after wasm is supported by normaization library --- json-schema-validator/build.gradle.kts | 21 ++----------------- .../schema/internal/hostname/Normalizer.kt | 7 ++++++- .../internal/hostname/Normalizer.nonWasmJs.kt | 8 ------- .../internal/hostname/Normalizer.wasmJs.kt | 3 --- 4 files changed, 8 insertions(+), 31 deletions(-) delete mode 100644 json-schema-validator/src/nonWasmJsMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.nonWasmJs.kt delete mode 100644 json-schema-validator/src/wasmJsMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.wasmJs.kt diff --git a/json-schema-validator/build.gradle.kts b/json-schema-validator/build.gradle.kts index 4692468e..c6b53785 100644 --- a/json-schema-validator/build.gradle.kts +++ b/json-schema-validator/build.gradle.kts @@ -24,7 +24,7 @@ kotlin { } sourceSets { - val commonMain by getting { + commonMain { dependencies { api(libs.kotlin.serialization.json) api(libs.uri) @@ -36,30 +36,13 @@ kotlin { ) { because("simplifies work with unicode codepoints") } - implementation(libs.karacteristics) - } - } - - val nonWasmJsMain by creating { - dependsOn(commonMain) - - dependencies { implementation(libs.normalize.get().toString()) { because("provides normalization required by IDN-hostname format") } + implementation(libs.karacteristics) } } - jvmMain { - dependsOn(nonWasmJsMain) - } - jsMain { - dependsOn(nonWasmJsMain) - } - nativeMain { - dependsOn(nonWasmJsMain) - } - commonTest { dependencies { implementation(libs.kotest.assertions.core) diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.kt index cef03df2..44d3a03c 100644 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.kt +++ b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.kt @@ -1,3 +1,8 @@ package io.github.optimumcode.json.schema.internal.hostname -internal expect fun isNormalized(label: String): Boolean \ No newline at end of file +import doist.x.normalize.Form +import doist.x.normalize.normalize + +internal fun isNormalized(label: String): Boolean { + return label.normalize(Form.NFC) == label +} \ No newline at end of file diff --git a/json-schema-validator/src/nonWasmJsMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.nonWasmJs.kt b/json-schema-validator/src/nonWasmJsMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.nonWasmJs.kt deleted file mode 100644 index a63678dc..00000000 --- a/json-schema-validator/src/nonWasmJsMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.nonWasmJs.kt +++ /dev/null @@ -1,8 +0,0 @@ -package io.github.optimumcode.json.schema.internal.hostname - -import doist.x.normalize.Form -import doist.x.normalize.normalize - -internal actual fun isNormalized(label: String): Boolean { - return label.normalize(Form.NFC) == label -} \ No newline at end of file diff --git a/json-schema-validator/src/wasmJsMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.wasmJs.kt b/json-schema-validator/src/wasmJsMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.wasmJs.kt deleted file mode 100644 index 4a28b4f0..00000000 --- a/json-schema-validator/src/wasmJsMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.wasmJs.kt +++ /dev/null @@ -1,3 +0,0 @@ -package io.github.optimumcode.json.schema.internal.hostname - -internal actual fun isNormalized(label: String): Boolean = js("label.normalize('NFC') === label") \ No newline at end of file From fe10cddf513f1cbe372ac4d372acc5ad2f531dc3 Mon Sep 17 00:00:00 2001 From: Oleg Smirnov Date: Sun, 23 Mar 2025 17:21:09 +0100 Subject: [PATCH 2/2] Format deps in build.gradle to look same --- json-schema-validator/build.gradle.kts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/json-schema-validator/build.gradle.kts b/json-schema-validator/build.gradle.kts index c6b53785..2bb68881 100644 --- a/json-schema-validator/build.gradle.kts +++ b/json-schema-validator/build.gradle.kts @@ -29,11 +29,7 @@ kotlin { api(libs.kotlin.serialization.json) api(libs.uri) // When using approach like above you won't be able to add because block - implementation( - libs.kotlin.codepoints - .get() - .toString(), - ) { + implementation(libs.kotlin.codepoints.get().toString()) { because("simplifies work with unicode codepoints") } implementation(libs.normalize.get().toString()) {