mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2025-09-07 17:19:32 +00:00
15 lines
551 B
Kotlin
15 lines
551 B
Kotlin
package dev.inmo.micro_utils.startup.plugin
|
|
|
|
/**
|
|
* Creates [T] using [block], register it in [StartPluginSerializer] using its [StartPluginSerializer.registerPlugin]
|
|
* and returns created by [block] plugin
|
|
*
|
|
* @param name Will be used as a key for registration in [StartPluginSerializer] and will be passed to the [block] as
|
|
* parameter
|
|
*/
|
|
inline fun <T : StartPlugin> createStartupPluginAndRegister(name: String, block: (String) -> T): T {
|
|
val plugin = block(name)
|
|
StartPluginSerializer.registerPlugin(name, plugin)
|
|
return plugin
|
|
}
|