commonMain.schemas.TupleSchema.kt Maven / Gradle / Ivy
package pt.lightweightform.lfkotlin.schemas
import pt.lightweightform.lfkotlin.AllowedValues
import pt.lightweightform.lfkotlin.ComputedValue
import pt.lightweightform.lfkotlin.InitialValue
import pt.lightweightform.lfkotlin.IsRequired
import pt.lightweightform.lfkotlin.Schema
import pt.lightweightform.lfkotlin.Validation
internal expect fun tupleSchemaImpl(
elementsSchemas: List>,
isNullable: Boolean,
initialValue: Array?,
computedInitialValue: InitialValue?>?,
computedValue: ComputedValue?>?,
mismatchedComputedCode: String?,
isClientOnly: Boolean?,
isRequired: Boolean?,
computedIsRequired: IsRequired?,
isRequiredCode: String?,
allowedValues: List>?,
computedAllowedValues: AllowedValues>?,
disallowedValueCode: String?,
validations: List>>?,
initialState: Map?,
extra: Map?
): Schema?>
/** Creates a tuple schema. Maps to a schema of type "tuple" in LF. */
@Suppress("UNCHECKED_CAST")
public fun tupleSchema(
elementsSchemas: List>,
initialValue: Array? = null,
computedInitialValue: InitialValue>? = null,
computedValue: ComputedValue>? = null,
mismatchedComputedCode: String? = null,
isClientOnly: Boolean? = null,
allowedValues: List>? = null,
computedAllowedValues: AllowedValues>? = null,
disallowedValueCode: String? = null,
validations: List>>? = null,
initialState: Map? = null,
extra: Map? = null
): Schema> =
tupleSchemaImpl(
elementsSchemas,
false,
initialValue,
computedInitialValue,
computedValue as ComputedValue?>?,
mismatchedComputedCode,
isClientOnly,
null,
null,
null,
allowedValues,
computedAllowedValues,
disallowedValueCode,
validations,
initialState,
extra
) as
Schema>
/**
* Creates a nullable tuple schema. Maps to a schema of type "tuple" with `isNullable` set to `true`
* in LF.
*/
@Suppress("UNCHECKED_CAST")
public fun nullableTupleSchema(
elementsSchemas: List>,
initialValue: Array? = null,
computedInitialValue: InitialValue?>? = null,
computedValue: ComputedValue?>? = null,
mismatchedComputedCode: String? = null,
isClientOnly: Boolean? = null,
isRequired: Boolean? = null,
computedIsRequired: IsRequired? = null,
isRequiredCode: String? = null,
allowedValues: List>? = null,
computedAllowedValues: AllowedValues>? = null,
disallowedValueCode: String? = null,
validations: List>>? = null,
initialState: Map? = null,
extra: Map? = null
): Schema?> =
tupleSchemaImpl(
elementsSchemas,
true,
initialValue,
computedInitialValue,
computedValue,
mismatchedComputedCode,
isClientOnly,
isRequired,
computedIsRequired,
isRequiredCode,
allowedValues,
computedAllowedValues,
disallowedValueCode,
validations,
initialState,
extra
)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy