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

commonMain.schemas.FloatSchema.kt Maven / Gradle / Ivy

package pt.lightweightform.lfkotlin.schemas

import pt.lightweightform.lfkotlin.AllowedValues
import pt.lightweightform.lfkotlin.Bound
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 floatSchemaImpl(
    isNullable: Boolean,
    representsInteger: Boolean,
    initialValue: Float?,
    computedInitialValue: InitialValue?,
    computedValue: ComputedValue?,
    mismatchedComputedCode: String?,
    isClientOnly: Boolean?,
    isRequired: Boolean?,
    computedIsRequired: IsRequired?,
    isRequiredCode: String?,
    allowedValues: List?,
    computedAllowedValues: AllowedValues?,
    disallowedValueCode: String?,
    min: Float?,
    computedMin: Bound?,
    minCode: String?,
    max: Float?,
    computedMax: Bound?,
    maxCode: String?,
    validations: List>?,
    initialState: Map?,
    extra: Map?
): Schema

/** Creates a float schema. Maps to a schema of type "number" in LF. */
@Suppress("UNCHECKED_CAST")
public fun floatSchema(
    representsInteger: Boolean = false,
    initialValue: Float? = null,
    computedInitialValue: InitialValue? = null,
    computedValue: ComputedValue? = null,
    mismatchedComputedCode: String? = null,
    isClientOnly: Boolean? = null,
    allowedValues: List? = null,
    computedAllowedValues: AllowedValues? = null,
    disallowedValueCode: String? = null,
    min: Float? = null,
    computedMin: Bound? = null,
    minCode: String? = null,
    max: Float? = null,
    computedMax: Bound? = null,
    maxCode: String? = null,
    validations: List>? = null,
    initialState: Map? = null,
    extra: Map? = null
): Schema =
    floatSchemaImpl(
        false,
        representsInteger,
        initialValue,
        computedInitialValue,
        computedValue as ComputedValue?,
        mismatchedComputedCode,
        isClientOnly,
        null,
        null,
        null,
        allowedValues,
        computedAllowedValues,
        disallowedValueCode,
        min,
        computedMin,
        minCode,
        max,
        computedMax,
        maxCode,
        validations,
        initialState,
        extra
    ) as
        Schema

/**
 * Creates a nullable float schema. Maps to a schema of type "number" with `isNullable` set to
 * `true` in LF.
 */
@Suppress("UNCHECKED_CAST")
public fun nullableFloatSchema(
    representsInteger: Boolean = false,
    initialValue: Float? = 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,
    min: Float? = null,
    computedMin: Bound? = null,
    minCode: String? = null,
    max: Float? = null,
    computedMax: Bound? = null,
    maxCode: String? = null,
    validations: List>? = null,
    initialState: Map? = null,
    extra: Map? = null
): Schema =
    floatSchemaImpl(
        true,
        representsInteger,
        initialValue,
        computedInitialValue,
        computedValue,
        mismatchedComputedCode,
        isClientOnly,
        isRequired,
        computedIsRequired,
        isRequiredCode,
        allowedValues,
        computedAllowedValues,
        disallowedValueCode,
        min,
        computedMin,
        minCode,
        max,
        computedMax,
        maxCode,
        validations,
        initialState,
        extra
    )




© 2015 - 2025 Weber Informatics LLC | Privacy Policy