@@ -113,19 +113,21 @@ object OpenAPIServer {
113
113
case (e : ExampleSingleValue , out) => encoderExampleSingleValue.encodeValue(e, out)
114
114
case (e : ExampleMultipleValue , out) => encodeExampleMultipleValues.encodeValue(e, out)
115
115
}
116
- implicit val encoderSchemaType : JsCodec [SchemaType ] = JsonCodecMaker .make // TODO: from string
117
- implicit val encoderSchema : JsCodec [Schema ] = JsonCodecMaker .make
118
- implicit val encoderHeader : JsCodec [Header ] = JsonCodecMaker .make
119
- implicit val encoderExample : JsCodec [Example ] = JsonCodecMaker .make
120
- implicit val encoderResponse : JsCodec [Response ] = JsonCodecMaker .make
121
- implicit val encoderLink : JsCodec [Link ] = JsonCodecMaker .make
122
- implicit val encoderCallback : JsCodec [Callback ] = JsonCodecMaker .make // TODO: skip one level
123
- implicit val encoderEncoding : JsCodec [Encoding ] = JsonCodecMaker .make
124
- implicit val encoderMediaType : JsCodec [MediaType ] = JsonCodecMaker .make
125
- implicit val encoderRequestBody : JsCodec [RequestBody ] = JsonCodecMaker .make
126
- implicit val encoderParameterStyle : JsCodec [ParameterStyle ] = JsonCodecMaker .make // TODO: from string
127
- implicit val encoderParameterIn : JsCodec [ParameterIn ] = JsonCodecMaker .make
128
- implicit val encoderParameter : JsCodec [Parameter ] = JsonCodecMaker .make
116
+ implicit val encoderSchemaType : JsCodec [SchemaType ] = summonCodec[String ](JsonCodecMaker .make).map(_ => ??? )(_.value)
117
+ implicit val encoderSchema : JsCodec [Schema ] = JsonCodecMaker .make
118
+ implicit val encoderHeader : JsCodec [Header ] = JsonCodecMaker .make
119
+ implicit val encoderExample : JsCodec [Example ] = JsonCodecMaker .make
120
+ implicit val encoderResponse : JsCodec [Response ] = JsonCodecMaker .make
121
+ implicit val encoderLink : JsCodec [Link ] = JsonCodecMaker .make
122
+ implicit lazy val encoderCallback : JsCodec [Callback ] =
123
+ encodeListMap(encoderReferenceOr[PathItem ]).map[Callback ](_ => ??? )(_.pathItems)
124
+ implicit val encoderEncoding : JsCodec [Encoding ] = JsonCodecMaker .make
125
+ implicit val encoderMediaType : JsCodec [MediaType ] = JsonCodecMaker .make
126
+ implicit val encoderRequestBody : JsCodec [RequestBody ] = JsonCodecMaker .make
127
+ implicit val encoderParameterStyle : JsCodec [ParameterStyle ] =
128
+ summonCodec[String ](JsonCodecMaker .make).map(_ => ??? )(_.value)
129
+ implicit val encoderParameterIn : JsCodec [ParameterIn ] = JsonCodecMaker .make
130
+ implicit val encoderParameter : JsCodec [Parameter ] = JsonCodecMaker .make
129
131
implicit val encoderResponseMap : JsCodec [ListMap [ResponsesKey , ReferenceOr [Response ]]] =
130
132
summonCodec[Map [String , ReferenceOr [Response ]]](
131
133
JsonCodecMaker .make(CodecMakerConfig .withAllowRecursiveTypes(true ))
@@ -158,8 +160,9 @@ object OpenAPIServer {
158
160
implicit val encoderInfo : JsCodec [Info ] = JsonCodecMaker .make
159
161
implicit val encoderContact : JsCodec [Contact ] = JsonCodecMaker .make
160
162
implicit val encoderLicense : JsCodec [License ] = JsonCodecMaker .make
161
- implicit val encoderOpenAPI : JsCodec [OpenAPI ] = JsonCodecMaker .make
162
- implicit val encoderDiscriminator : JsCodec [Discriminator ] = JsonCodecMaker .make
163
+ implicit val encoderOpenAPI : JsCodec [OpenAPI ] =
164
+ JsonCodecMaker .make(CodecMakerConfig .withTransientDefault(false ).withTransientNone(true ))
165
+ implicit val encoderDiscriminator : JsCodec [Discriminator ] = JsonCodecMaker .make
163
166
164
167
implicit def encodeList [T : JsCodec ]: JsCodec [List [T ]] = JsEncoderOnly [List [T ]] {
165
168
case (Nil , out) =>
0 commit comments