Skip to content

Commit fbe1fca

Browse files
committed
feat: add def param in readConfigOrCreate
1 parent 38fbdcc commit fbe1fca

File tree

1 file changed

+4
-4
lines changed
  • src/main/kotlin/io/typst/bukkit/kotlin/serialization

1 file changed

+4
-4
lines changed

src/main/kotlin/io/typst/bukkit/kotlin/serialization/plugins.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ val bukkitPluginJson: Json by lazy {
1414
}
1515
}
1616

17-
inline fun <reified A> JavaPlugin.readConfigOrCreate(): A {
17+
inline fun <reified A> JavaPlugin.readConfigOrCreate(defaultValue: () -> A? = { null }): A {
1818
val configFile = configJsonFile
1919
if (configFile.isFile) {
2020
return bukkitPluginJson.decodeFromString<A>(configJsonFile.readText())
2121
} else {
2222
configFile.parentFile.mkdirs()
23-
val defaultValue = bukkitPluginJson.decodeFromString<A>("{}")
24-
configFile.writeText(bukkitPluginJson.encodeToString<A>(defaultValue))
25-
return defaultValue
23+
val defValue = defaultValue() ?: bukkitPluginJson.decodeFromString<A>("{}")
24+
configFile.writeText(bukkitPluginJson.encodeToString<A>(defValue))
25+
return defValue
2626
}
2727
}

0 commit comments

Comments
 (0)