All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.lightningkite.lightningdb.MetaModelFields.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 prepareMetaModelFields() {
    MetaModel::_id.setCopyImplementation { original, value -> original.copy(_id = value) }
    MetaModel::number.setCopyImplementation { original, value -> original.copy(number = value) }
    MetaModel::condition.setCopyImplementation { original, value -> original.copy(condition = value) }
    MetaModel::modification.setCopyImplementation { original, value -> original.copy(modification = value) }
}
val  DataClassPath._id: DataClassPath get() = this[MetaModel::_id]
val  DataClassPath.number: DataClassPath get() = this[MetaModel::number]
val  DataClassPath.condition: DataClassPath> get() = this[MetaModel::condition]
val  DataClassPath.modification: DataClassPath> get() = this[MetaModel::modification]
inline val MetaModel.Companion.path: DataClassPath get() = path()




© 2015 - 2025 Weber Informatics LLC | Privacy Policy