From 1592d4d3090707a020ec5c2ad082bf252ba7e386 Mon Sep 17 00:00:00 2001 From: Sebastian Neubauer Date: Sun, 16 Aug 2026 10:46:10 +0200 Subject: [PATCH] Make JsonTreeElement immutable and reduce keys in remembers --- .../com/sebastianneubauer/jsontree/JsonTreeElement.kt | 4 ++++ .../com/sebastianneubauer/jsontree/util/AnnotatedText.kt | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/jsontree/src/commonMain/kotlin/com/sebastianneubauer/jsontree/JsonTreeElement.kt b/jsontree/src/commonMain/kotlin/com/sebastianneubauer/jsontree/JsonTreeElement.kt index ad614d4..d91477e 100644 --- a/jsontree/src/commonMain/kotlin/com/sebastianneubauer/jsontree/JsonTreeElement.kt +++ b/jsontree/src/commonMain/kotlin/com/sebastianneubauer/jsontree/JsonTreeElement.kt @@ -1,5 +1,8 @@ package com.sebastianneubauer.jsontree +import androidx.compose.runtime.Immutable + +@Immutable internal sealed interface JsonTreeElement { val id: String val level: Int @@ -19,6 +22,7 @@ internal sealed interface JsonTreeElement { enum class Type { STRING, BOOLEAN, NUMBER, OTHER } } + @Immutable sealed interface Collapsable : JsonTreeElement { val state: TreeState val children: Map diff --git a/jsontree/src/commonMain/kotlin/com/sebastianneubauer/jsontree/util/AnnotatedText.kt b/jsontree/src/commonMain/kotlin/com/sebastianneubauer/jsontree/util/AnnotatedText.kt index 0d0748c..88ad48f 100644 --- a/jsontree/src/commonMain/kotlin/com/sebastianneubauer/jsontree/util/AnnotatedText.kt +++ b/jsontree/src/commonMain/kotlin/com/sebastianneubauer/jsontree/util/AnnotatedText.kt @@ -33,12 +33,8 @@ internal fun rememberCollapsableText( val itemCount = pluralStringResource(Res.plurals.jsontree_collapsable_items, childItemCount, childItemCount) return remember( - key, state, colors, - isLastItem, - itemCount, - type, showIndices, showItemCount, searchOccurrence, @@ -120,11 +116,7 @@ internal fun rememberPrimitiveText( parentType: ParentType, ): AnnotatedString { return remember( - key, - value, colors, - type, - isLastItem, showIndices, searchOccurrence, searchOccurrenceSelectedRange