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

de.lancom.openapi.jackson.ExtensionParser.kt Maven / Gradle / Ivy

Go to download

This open-source project provides an OpenAPI 3.0 Parser implemented in Kotlin, utilizing immutable data classes

There is a newer version: 2.1.1
Show newest version
package de.lancom.openapi.jackson

import com.fasterxml.jackson.databind.node.ObjectNode
import de.lancom.openapi.entity.Entity
import de.lancom.openapi.entity.Extension
import de.lancom.openapi.field.Field

fun  extensionParser(wrapper: Wrapper, parser: (Wrapper, Field>) -> E): E {
    val extensions = wrapper.getExtensions().orNull
    return if (extensions == null) {
        parser(wrapper, Field.unset())
    } else {
        val objectNode: ObjectNode = wrapper.jsonNodeField.getOrError().deepCopy()
        extensions.keys.forEach { extension ->
            objectNode.remove(extension)
        }
        parser(Wrapper(objectNode), Field(extensions))
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy