File tree Expand file tree Collapse file tree 2 files changed +34
-1
lines changed
src/main/kotlin/com/papsign/ktor/openapigen Expand file tree Collapse file tree 2 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ sealed class SchemaModel<T>: DataModel {
4242 ) : SchemaModel<T>()
4343
4444 data class SchemaModelLitteral <T >(
45- var type : DataType ,
45+ var type : DataType ? = null ,
4646 var format : DataFormat ? = null ,
4747 var nullable : Boolean = false ,
4848 var minimum : T ? = null ,
Original file line number Diff line number Diff line change 1+ package com.papsign.ktor.openapigen.schema.builder.provider
2+
3+ import com.papsign.ktor.openapigen.OpenAPIGen
4+ import com.papsign.ktor.openapigen.OpenAPIGenModuleExtension
5+ import com.papsign.ktor.openapigen.getKType
6+ import com.papsign.ktor.openapigen.model.schema.DataType
7+ import com.papsign.ktor.openapigen.model.schema.SchemaModel
8+ import com.papsign.ktor.openapigen.modules.ModuleProvider
9+ import com.papsign.ktor.openapigen.schema.builder.FinalSchemaBuilder
10+ import com.papsign.ktor.openapigen.schema.builder.SchemaBuilder
11+ import kotlin.reflect.KType
12+ import kotlin.reflect.full.createType
13+ import kotlin.reflect.jvm.jvmErasure
14+
15+ object NothingSchemaProvider: SchemaBuilderProviderModule, OpenAPIGenModuleExtension {
16+
17+ private object Builder: SchemaBuilder {
18+ override val superType: KType = Nothing ::class .createType()
19+
20+ override fun build (
21+ type : KType ,
22+ builder : FinalSchemaBuilder ,
23+ finalize : (SchemaModel <* >) -> SchemaModel <* >
24+ ): SchemaModel <* > {
25+ checkType(type)
26+ return finalize(SchemaModel .SchemaModelLitteral <Any ?>(nullable = true ))
27+ }
28+ }
29+
30+ override fun provide (apiGen : OpenAPIGen , provider : ModuleProvider <* >): List <SchemaBuilder > {
31+ return listOf (Builder )
32+ }
33+ }
You can’t perform that action at this time.
0 commit comments