Skip to content

Commit 9691e61

Browse files
committed
refactor: streamline JoinConfiguration setup and improve component joining logic
1 parent 109d2ef commit 9691e61

2 files changed

Lines changed: 36 additions & 26 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ javaVersion=21
99
mcVersion=1.21.4
1010

1111
group=dev.slne.surf
12-
version=1.21.4-2.13.1-SNAPSHOT
12+
version=1.21.4-2.13.2-SNAPSHOT
1313
relocationPrefix=dev.slne.surf.surfapi.libs

surf-api-core/surf-api-core-api/src/main/kotlin/dev/slne/surf/surfapi/core/api/messages/CommonComponents.kt

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -349,9 +349,7 @@ object CommonComponents {
349349
collection: Iterable<E>,
350350
formatter: (E) -> Component,
351351
): Component {
352-
val joinConfig = JoinConfiguration.builder()
353-
.separator(Component.text(", ", SPACER))
354-
.build()
352+
val joinConfig = JoinConfiguration.builder().separator(Component.text(", ", SPACER)).build()
355353

356354
return Component.join(joinConfig, collection.mapTo(mutableObjectListOf(), formatter))
357355
}
@@ -382,15 +380,20 @@ object CommonComponents {
382380
linePrefix: Component = PREFIX,
383381
formatter: (E) -> Component,
384382
): Component {
385-
val joinConfig = JoinConfiguration.builder()
386-
.separator(buildText0 {
387-
appendNewline()
388-
append(linePrefix)
389-
appendText("- ", SPACER)
390-
})
391-
.build()
383+
val separator = buildText0 {
384+
appendNewline()
385+
append(linePrefix)
386+
appendText("- ", SPACER)
387+
}
388+
val joinConfig = JoinConfiguration.builder().separator(separator).build()
392389

393-
return Component.join(joinConfig, collection.mapTo(mutableObjectListOf(), formatter))
390+
val firstPrefix = if (collection.iterator().hasNext()) separator else Component.empty()
391+
392+
return firstPrefix.append(
393+
Component.join(
394+
joinConfig, collection.mapTo(mutableObjectListOf(), formatter)
395+
)
396+
)
394397
}
395398

396399
/**
@@ -422,20 +425,27 @@ object CommonComponents {
422425
linePrefix: Component = PREFIX,
423426
keyValueSeparator: Component = MAP_SEPERATOR,
424427
): Component {
425-
val joinConfig = JoinConfiguration.builder()
426-
.separator(buildText0 {
427-
appendNewline()
428-
append(linePrefix)
429-
appendText("- ", SPACER)
430-
})
431-
432-
return Component.join(joinConfig, map.mapTo(mutableObjectListOf()) { (key, value) ->
433-
buildText0 {
434-
append(keyFormatter(key).colorIfAbsent(VARIABLE_KEY))
435-
append(keyValueSeparator)
436-
append(valueFormatter(value).colorIfAbsent(VARIABLE_VALUE))
437-
}
438-
})
428+
val separator = buildText0 {
429+
appendNewline()
430+
append(linePrefix)
431+
appendText("- ", SPACER)
432+
}
433+
val joinConfig = JoinConfiguration.builder().separator(separator)
434+
435+
val firstPrefix = if (map.isNotEmpty()) separator else Component.empty()
436+
437+
return firstPrefix.append(
438+
Component.join(
439+
joinConfig,
440+
map.mapTo(mutableObjectListOf()) { (key, value) ->
441+
buildText0 {
442+
append(keyFormatter(key).colorIfAbsent(VARIABLE_KEY))
443+
append(keyValueSeparator)
444+
append(valueFormatter(value).colorIfAbsent(VARIABLE_VALUE))
445+
}
446+
}
447+
)
448+
)
439449
}
440450

441451
/**

0 commit comments

Comments
 (0)