Skip to content

Commit 5d875b3

Browse files
committed
feat(util/config): small improvements for Config and ConfigTypes
- Add iterator method for ConfigMap and ConfigList - Rename ConfigMap's hasKey to containsKey
1 parent 8b246a0 commit 5d875b3

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

app/src/main/java/com/osfans/trime/util/config/Config.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,6 @@ class Config(private val data: ConfigData = ConfigData()) {
8181
Timber.d("read: $path")
8282
return data.traverse(path)?.configMap
8383
}
84+
85+
fun getItem() = data.root
8486
}

app/src/main/java/com/osfans/trime/util/config/ConfigTypes.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ class ConfigList(private val list: YamlList) : ConfigItem(list) {
5858

5959
val items get() = list.items.map { convertFromYaml(it) }
6060

61+
operator fun iterator() = items.iterator()
62+
6163
override fun isEmpty() = list.items.isEmpty()
6264
override fun contentToString(): String = list.contentToString()
6365

@@ -71,12 +73,14 @@ class ConfigMap(private val map: YamlMap) : ConfigItem(map) {
7173
override fun isEmpty() = map.entries.isEmpty()
7274
override fun contentToString(): String = map.contentToString()
7375

74-
fun hasKey(key: String) = map.getKey(key) != null
76+
fun containsKey(key: String) = map.getKey(key) != null
7577

7678
val entries get() = map.entries.entries.associate { (s, n) ->
7779
s.content to convertFromYaml(n)
7880
}
7981

82+
operator fun iterator() = entries.iterator()
83+
8084
@Suppress("UNCHECKED_CAST")
8185
operator fun <T : ConfigItem> get(key: String): T? =
8286
entries.entries.firstOrNull { it.key == key }?.value as T?

0 commit comments

Comments
 (0)