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

com.ancientlightstudios.quarkus.kotlin.openapi.parser.SchemaPropertyBuilder.kt Maven / Gradle / Ivy

There is a newer version: 0.4.14
Show newest version
package com.ancientlightstudios.quarkus.kotlin.openapi.parser

import com.ancientlightstudios.quarkus.kotlin.openapi.models.hints.OriginPathHint.originPath
import com.ancientlightstudios.quarkus.kotlin.openapi.models.transformable.TransformableSchemaProperty
import com.fasterxml.jackson.databind.node.ObjectNode

class SchemaPropertyBuilder(private val name: String, private val node: ObjectNode) {

    fun ParseContext.build(): TransformableSchemaProperty {
        return TransformableSchemaProperty(name, parseAsSchema())
            .apply {
                originPath = contextPath
            }
    }

}

fun ParseContext.parseAsSchemaProperty(name: String) =
    contextNode.asObjectNode { "Json object expected for $contextPath" }
        .let {
            SchemaPropertyBuilder(name, it).run { [email protected]() }
        }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy