
com.lightningkite.lightningdb.UserFields.kt Maven / Gradle / Ivy
@file:UseContextualSerialization(UUID::class, Instant::class)
@file:OptIn(ExperimentalSerializationApi::class, InternalSerializationApi::class)
package com.lightningkite.lightningdb
import com.lightningkite.khrysalis.SharedCode
import kotlinx.serialization.Contextual
import kotlinx.serialization.Serializable
import kotlinx.serialization.UseContextualSerialization
import java.time.Instant
import java.util.*
import com.lightningkite.lightningdb.*
import kotlin.reflect.*
import kotlinx.serialization.*
import kotlinx.serialization.builtins.*
import kotlinx.serialization.internal.GeneratedSerializer
import java.time.*
fun prepareUserFields() {
User::_id.setCopyImplementation { original, value -> original.copy(_id = value) }
User::email.setCopyImplementation { original, value -> original.copy(email = value) }
User::age.setCopyImplementation { original, value -> original.copy(age = value) }
User::friends.setCopyImplementation { original, value -> original.copy(friends = value) }
}
val DataClassPath._id: DataClassPath get() = this[User::_id]
val DataClassPath.email: DataClassPath get() = this[User::email]
val DataClassPath.age: DataClassPath get() = this[User::age]
val DataClassPath.friends: DataClassPath>> get() = this[User::friends]
inline val User.Companion.path: DataClassPath get() = path()
© 2015 - 2025 Weber Informatics LLC | Privacy Policy