Adds an update method for changes in current Event

This commit is contained in:
Vitor Pamplona
2025-11-12 12:33:35 -05:00
parent 90330165d2
commit 6c64297415
2 changed files with 11 additions and 0 deletions
@@ -60,6 +60,12 @@ class TagArrayBuilder<T : IEvent> {
return this
}
fun addFirst(tag: Array<String>): TagArrayBuilder<T> {
if (tag.isEmpty() || tag[0].isEmpty()) return this
tagList.getOrPut(tag[0], ::mutableListOf).add(0, tag)
return this
}
fun addUnique(tag: Array<String>): TagArrayBuilder<T> {
if (tag.isEmpty() || tag[0].isEmpty()) return this
tagList[tag[0]] = mutableListOf(tag)
@@ -54,3 +54,8 @@ fun <T : Event> eventUpdate(
createdAt: Long = TimeUtils.now(),
updater: TagArrayBuilder<T>.() -> Unit = {},
) = EventTemplate<T>(createdAt, base.kind, base.tags.builder(updater), base.content)
fun <T : Event> T.update(
createdAt: Long = TimeUtils.now(),
updater: TagArrayBuilder<T>.() -> Unit = {},
) = eventUpdate(this, createdAt, updater)