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
Link copied to clipboard
data class ArraySchema(items: ComponentSchema, default: Any?, description: String?, nullable: Boolean?, minItems: Int?, maxItems: Int?, uniqueItems: Boolean?) : TypedSchema
Link copied to clipboard
interface ComponentSchema
Link copied to clipboard
data class DictionarySchema(additionalProperties: ComponentSchema, default: Any?, description: String?, nullable: Boolean?) : TypedSchema
Link copied to clipboard
data class EnumSchema(enum: Set<String>, default: Any?, description: String?, nullable: Boolean?) : TypedSchema
Link copied to clipboard
data class FormattedSchema(format: String, type: String, default: Any?, description: String?, nullable: Boolean?, minimum: Number?, maximum: Number?, exclusiveMinimum: Boolean?, exclusiveMaximum: Boolean?, multipleOf: Number?) : TypedSchema
Link copied to clipboard
data class FreeFormSchema(nullable: Boolean?, minProperties: Int?, maxProperties: Int?, default: Any?, description: String?) : TypedSchema
Link copied to clipboard
data class ObjectSchema(properties: Map<String, ComponentSchema>, default: Any?, description: String?, nullable: Boolean?, required: List<String>?) : TypedSchema
Link copied to clipboard
data class ReferencedSchema($ref: String, default: Any?, description: String?) : ComponentSchema
Link copied to clipboard
data class SimpleSchema(type: String, default: Any?, description: String?, nullable: Boolean?, minLength: Int?, maxLength: Int?, pattern: String?, format: String?) : TypedSchema
Link copied to clipboard
interface TypedSchema : ComponentSchema