Package io.bkbn.kompendium.oas.schema
A bit confusingly, in the OAS, there is a distinction between a payload and a schema. You can think of payloads as containing schemas. So here we dive into the true object level definitions that we want to map out. Models for supporting collections, dictionaries, polymorphic classes, enums, along with your standard library classes all live here.
Types
Link copied to clipboard
data class AnyOfSchema(anyOf: List<ComponentSchema>, description: String?) : ComponentSchema
Content copied to clipboard
Link copied to clipboard
data class ArraySchema(items: ComponentSchema, default: Any?, description: String?, nullable: Boolean?, minItems: Int?, maxItems: Int?, uniqueItems: Boolean?) : TypedSchema
Content copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class DictionarySchema(additionalProperties: ComponentSchema, default: Any?, description: String?, nullable: Boolean?) : TypedSchema
Content copied to clipboard
Link copied to clipboard
data class EnumSchema(enum: Set<String>, default: Any?, description: String?, nullable: Boolean?) : TypedSchema
Content copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class FreeFormSchema(nullable: Boolean?, minProperties: Int?, maxProperties: Int?, default: Any?, description: String?) : TypedSchema
Content copied to clipboard
Link copied to clipboard
data class ObjectSchema(properties: Map<String, ComponentSchema>, default: Any?, description: String?, nullable: Boolean?, required: List<String>?) : TypedSchema
Content copied to clipboard
Link copied to clipboard
data class ReferencedSchema($ref: String, default: Any?, description: String?) : ComponentSchema
Content copied to clipboard
Link copied to clipboard
data class SimpleSchema(type: String, default: Any?, description: String?, nullable: Boolean?, minLength: Int?, maxLength: Int?, pattern: String?, format: String?) : TypedSchema
Content copied to clipboard
Link copied to clipboard