From 9691e617f8dc3a607b2291982381e83c78b47c6f Mon Sep 17 00:00:00 2001 From: twisti Date: Fri, 18 Apr 2025 23:25:34 +0200 Subject: [PATCH 1/2] refactor: streamline JoinConfiguration setup and improve component joining logic --- gradle.properties | 2 +- .../core/api/messages/CommonComponents.kt | 60 +++++++++++-------- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/gradle.properties b/gradle.properties index 3d70e8b9..2bbf4ed4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,5 +9,5 @@ javaVersion=21 mcVersion=1.21.4 group=dev.slne.surf -version=1.21.4-2.13.1-SNAPSHOT +version=1.21.4-2.13.2-SNAPSHOT relocationPrefix=dev.slne.surf.surfapi.libs \ No newline at end of file diff --git a/surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt b/surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt index 2d8c2923..174e6f08 100644 --- a/surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt +++ b/surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt @@ -349,9 +349,7 @@ object CommonComponents { collection: Iterable, formatter: (E) -> Component, ): Component { - val joinConfig = JoinConfiguration.builder() - .separator(Component.text(", ", SPACER)) - .build() + val joinConfig = JoinConfiguration.builder().separator(Component.text(", ", SPACER)).build() return Component.join(joinConfig, collection.mapTo(mutableObjectListOf(), formatter)) } @@ -382,15 +380,20 @@ object CommonComponents { linePrefix: Component = PREFIX, formatter: (E) -> Component, ): Component { - val joinConfig = JoinConfiguration.builder() - .separator(buildText0 { - appendNewline() - append(linePrefix) - appendText("- ", SPACER) - }) - .build() + val separator = buildText0 { + appendNewline() + append(linePrefix) + appendText("- ", SPACER) + } + val joinConfig = JoinConfiguration.builder().separator(separator).build() - return Component.join(joinConfig, collection.mapTo(mutableObjectListOf(), formatter)) + val firstPrefix = if (collection.iterator().hasNext()) separator else Component.empty() + + return firstPrefix.append( + Component.join( + joinConfig, collection.mapTo(mutableObjectListOf(), formatter) + ) + ) } /** @@ -422,20 +425,27 @@ object CommonComponents { linePrefix: Component = PREFIX, keyValueSeparator: Component = MAP_SEPERATOR, ): Component { - val joinConfig = JoinConfiguration.builder() - .separator(buildText0 { - appendNewline() - append(linePrefix) - appendText("- ", SPACER) - }) - - return Component.join(joinConfig, map.mapTo(mutableObjectListOf()) { (key, value) -> - buildText0 { - append(keyFormatter(key).colorIfAbsent(VARIABLE_KEY)) - append(keyValueSeparator) - append(valueFormatter(value).colorIfAbsent(VARIABLE_VALUE)) - } - }) + val separator = buildText0 { + appendNewline() + append(linePrefix) + appendText("- ", SPACER) + } + val joinConfig = JoinConfiguration.builder().separator(separator) + + val firstPrefix = if (map.isNotEmpty()) separator else Component.empty() + + return firstPrefix.append( + Component.join( + joinConfig, + map.mapTo(mutableObjectListOf()) { (key, value) -> + buildText0 { + append(keyFormatter(key).colorIfAbsent(VARIABLE_KEY)) + append(keyValueSeparator) + append(valueFormatter(value).colorIfAbsent(VARIABLE_VALUE)) + } + } + ) + ) } /** From f5c1dc14f327a0c72818248dfb6e19e024d9b707 Mon Sep 17 00:00:00 2001 From: twisti <76837088+twisti-dev@users.noreply.github.com> Date: Fri, 18 Apr 2025 23:27:51 +0200 Subject: [PATCH 2/2] Update surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../slne/surf/surfapi/core/api/messages/CommonComponents.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt b/surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt index 174e6f08..30818277 100644 --- a/surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt +++ b/surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt @@ -430,8 +430,7 @@ object CommonComponents { append(linePrefix) appendText("- ", SPACER) } - val joinConfig = JoinConfiguration.builder().separator(separator) - + val joinConfig = JoinConfiguration.builder().separator(separator).build() val firstPrefix = if (map.isNotEmpty()) separator else Component.empty() return firstPrefix.append(