![JAR search and dependency download from the Maven repository](/logo.png)
commonMain.maryk.test.models.MigrationDataModels.kt Maven / Gradle / Ivy
@file:Suppress("unused")
package maryk.test.models
import maryk.core.models.DataModel
import maryk.core.models.RootDataModel
import maryk.core.properties.definitions.embed
import maryk.core.properties.definitions.enum
import maryk.core.properties.definitions.number
import maryk.core.properties.definitions.reference
import maryk.core.properties.definitions.string
import maryk.core.properties.types.Version
import maryk.core.properties.types.numeric.SInt32
object ModelV1 : RootDataModel(
name = "Model",
version = Version(1),
indices = {
listOf(
ModelV1.value.ref()
)
},
) {
val value by string(index = 1u, default = "haha", regEx = "ha.*")
}
object ModelV1_1WrongKey : RootDataModel(
name = "Model",
version = Version(1),
keyDefinition = {
ModelV1_1WrongKey.newNumber.ref()
},
) {
val value by string(index = 1u, default = "haha", regEx = "ha.*")
val newNumber by number(index = 2u, type = SInt32, required = true, final = true)
}
object ModelV1_1 : RootDataModel(
name = "Model",
version = Version(1, 1),
) {
val value by string(index = 1u, default = "haha", regEx = "ha.*")
val newNumber by number(index = 2u, type = SInt32, required = false)
}
object ModelV2 : RootDataModel(
name = "Model",
version = Version(2),
indices = { listOf(
ModelV2.value.ref()
) },
) {
val value by string(index = 1u, default = "haha", regEx = "ha.*")
val newNumber by number(index = 2u, type = SInt32, required = true)
}
object ModelV2ExtraIndex : RootDataModel(
name = "Model",
version = Version(2),
indices = {
listOf(
ModelV2ExtraIndex.value.ref(),
ModelV2ExtraIndex.newNumber.ref()
)
},
) {
val value by string(index = 1u, default = "haha", regEx = "ha.*")
val newNumber by number(index = 2u, type = SInt32, required = true)
}
object ModelWrongValueType : RootDataModel(
name = "Model",
version = Version(2),
) {
val value by number(index = 1u, type = SInt32)
}
object ModelMissingProperty : RootDataModel(
name = "Model",
version = Version(1, 2),
) {
val newNumber by number(index = 2u, type = SInt32, required = true)
}
object ModelV2ReservedNamesAndIndices : RootDataModel(
name = "Model",
version = Version(1, 2),
reservedNames = listOf("value"),
reservedIndices = listOf(1u),
) {
val newNumber by number(index = 2u, type = SInt32, required = false)
}
object DependentModel : DataModel() {
val value by string(index = 1u, default = "haha", regEx = "ha.*")
val deeperEnum by enum(index = 2u, enum = Severity)
val embed by embed(index = 3u, dataModel = { SimpleMarykModel })
val selfEmbed by embed(index = 4u, dataModel = { DependentModel })
}
object ModelWithDependents : RootDataModel(
version = Version(1, 0),
indices = { listOf(
ModelWithDependents { dep { value::ref } }
) }
) {
val dep by embed(index = 1u, dataModel = { DependentModel })
val enum by enum(index = 2u, enum = Option)
val selfRef by reference(index = 3u, dataModel = { ModelWithDependents })
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy