@@ -111,7 +111,7 @@ rename name (NamedSchema _ schema) = NamedSchema name schema
111111-- declareNamedSchema _ = do
112112-- doubleSchema <- declareSchemaRef (Proxy :: Proxy Double)
113113-- return $ NamedSchema (Just \"Coord\") $ mempty
114−-- & type_ .~ SwaggerObject
114+-- & type_ ?~ SwaggerObject
115115-- & properties .~
116116-- [ (\"x\", doubleSchema)
117117-- , (\"y\", doubleSchema)
@@ -294,20 +294,20 @@ inlineNonRecursiveSchemas defs = inlineSchemasWhen nonRecursive defs
294294-- | Default schema for binary data (any sequence of octets).
295295binarySchema :: Schema
296296binarySchema = mempty
297− & type_ .~ SwaggerString
297+ & type_ ?~ SwaggerString
298298 & format ?~ "binary"
299299
300300-- | Default schema for binary data (base64 encoded).
301301byteSchema :: Schema
302302byteSchema = mempty
303− & type_ .~ SwaggerString
303+ & type_ ?~ SwaggerString
304304 & format ?~ "byte"
305305
306306-- | Default schema for password string.
307307-- @"password"@ format is used to hint UIs the input needs to be obscured.
308308passwordSchema :: Schema
309309passwordSchema = mempty
310− & type_ .~ SwaggerString
310+ & type_ ?~ SwaggerString
311311 & format ?~ "password"
312312
313313-- | Make an unrestrictive sketch of a @'Schema'@ based on a @'ToJSON'@ instance.
@@ -333,12 +333,12 @@ sketchSchema = sketch . toJSON
333333 sketch js@(Bool _) = go js
334334 sketch js = go js & example ?~ js
335335
336− go Null = mempty & type_ .~ SwaggerNull
337− go (Bool _) = mempty & type_ .~ SwaggerBoolean
338− go (String _) = mempty & type_ .~ SwaggerString
339− go (Number _) = mempty & type_ .~ SwaggerNumber
336+ go Null = mempty & type_ ?~ SwaggerNull
337+ go (Bool _) = mempty & type_ ?~ SwaggerBoolean
338+ go (String _) = mempty & type_ ?~ SwaggerString
339+ go (Number _) = mempty & type_ ?~ SwaggerNumber
340340 go (Array xs) = mempty
341− & type_ .~ SwaggerArray
341+ & type_ ?~ SwaggerArray
342342 & items ?~ case ischema of
343343 Just s -> SwaggerItemsObject (Inline s)
344344 _ -> SwaggerItemsArray (map Inline ys)
@@ -350,7 +350,7 @@ sketchSchema = sketch . toJSON
350350 (z:_) | allSame -> Just z
351351 _ -> Nothing
352352 go (Object o) = mempty
353− & type_ .~ SwaggerObject
353+ & type_ ?~ SwaggerObject
354354 & required .~ HashMap.keys o
355355 & properties .~ fmap (Inline . go) (InsOrdHashMap.fromHashMap o)
356356
@@ -373,24 +373,24 @@ sketchSchema = sketch . toJSON
373373sketchStrictSchema :: ToJSON a => a -> Schema
374374sketchStrictSchema = go . toJSON
375375 where
376− go Null = mempty & type_ .~ SwaggerNull
376+ go Null = mempty & type_ ?~ SwaggerNull
377377 go js@(Bool _) = mempty
378− & type_ .~ SwaggerBoolean
378+ & type_ ?~ SwaggerBoolean
379379 & enum_ ?~ [js]
380380 go js@(String s) = mempty
381− & type_ .~ SwaggerString
381+ & type_ ?~ SwaggerString
382382 & maxLength ?~ fromIntegral (T.length s)
383383 & minLength ?~ fromIntegral (T.length s)
384384 & pattern ?~ s
385385 & enum_ ?~ [js]
386386 go js@(Number n) = mempty
387− & type_ .~ SwaggerNumber
387+ & type_ ?~ SwaggerNumber
388388 & maximum_ ?~ n
389389 & minimum_ ?~ n
390390 & multipleOf ?~ n
391391 & enum_ ?~ [js]
392392 go js@(Array xs) = mempty
393− & type_ .~ SwaggerArray
393+ & type_ ?~ SwaggerArray
394394 & maxItems ?~ fromIntegral sz
395395 & minItems ?~ fromIntegral sz
396396 & items ?~ SwaggerItemsArray (map (Inline . go) (V.toList xs))
@@ -400,7 +400,7 @@ sketchStrictSchema = go . toJSON
400400 sz = length xs
401401 allUnique = sz == HashSet.size (HashSet.fromList (V.toList xs))
402402 go js@(Object o) = mempty
403− & type_ .~ SwaggerObject
403+ & type_ ?~ SwaggerObject
404404 & required .~ names
405405 & properties .~ fmap (Inline . go) (InsOrdHashMap.fromHashMap o)
406406 & maxProperties ?~ fromIntegral (length names)
@@ -416,7 +416,7 @@ instance OVERLAPPABLE_ ToSchema a => ToSchema [a] where
416416 declareNamedSchema _ = do
417417 ref <- declareSchemaRef (Proxy :: Proxy a)
418418 return $ unnamed $ mempty
419− & type_ .~ SwaggerArray
419+ & type_ ?~ SwaggerArray
420420 & items ?~ SwaggerItemsObject ref
421421
422422instance OVERLAPPING_ ToSchema String where declareNamedSchema = plain . paramSchemaToSchema
@@ -466,7 +466,7 @@ instance (ToSchema a, ToSchema b, ToSchema c, ToSchema d, ToSchema e, ToSchema f
466466
467467timeSchema :: T.Text -> Schema
468468timeSchema fmt = mempty
469− & type_ .~ SwaggerString
469+ & type_ ?~ SwaggerString
470470 & format ?~ fmt
471471
472472-- | Format @"date"@ corresponds to @yyyy-mm-dd@ format.
@@ -528,7 +528,7 @@ instance (ToJSONKey k, ToSchema k, ToSchema v) => ToSchema (Map k v) where
528528 declareObjectMapSchema = do
529529 schema <- declareSchemaRef (Proxy :: Proxy v)
530530 return $ unnamed $ mempty
531− & type_ .~ SwaggerObject
531+ & type_ ?~ SwaggerObject
532532 & additionalProperties ?~ AdditionalPropertiesSchema schema
533533
534534instance (ToJSONKey k, ToSchema k, ToSchema v) => ToSchema (HashMap k v) where
@@ -540,7 +540,7 @@ instance ToSchema a => ToSchema (Map String a) where
540540 declareNamedSchema _ = do
541541 schema <- declareSchemaRef (Proxy :: Proxy a)
542542 return $ unnamed $ mempty
543− & type_ .~ SwaggerObject
543+ & type_ ?~ SwaggerObject
544544 & additionalProperties ?~ schema
545545
546546instance ToSchema a => ToSchema (Map T.Text a) where declareNamedSchema _ = declareNamedSchema (Proxy :: Proxy (Map String a))
@@ -554,7 +554,7 @@ instance ToSchema a => ToSchema (HashMap TL.Text a) where declareNamedSchema _ =
554554
555555instance OVERLAPPING_ ToSchema Object where
556556 declareNamedSchema _ = pure $ NamedSchema (Just "Object") $ mempty
557− & type_ .~ SwaggerObject
557+ & type_ ?~ SwaggerObject
558558 & description ?~ "Arbitrary JSON object."
559559 & additionalProperties ?~ AdditionalPropertiesAllowed True
560560
@@ -595,7 +595,7 @@ instance ToSchema a => ToSchema (Identity a) where declareNamedSchema _ = declar
595595-- "{\"maximum\":32767,\"minimum\":-32768,\"type\":\"integer\"}"
596596toSchemaBoundedIntegral :: forall a. (Bounded a, Integral a) => Proxy a -> Schema
597597toSchemaBoundedIntegral _ = mempty
598− & type_ .~ SwaggerInteger
598+ & type_ ?~ SwaggerInteger
599599 & minimum_ ?~ fromInteger (toInteger (minBound :: a))
600600 & maximum_ ?~ fromInteger (toInteger (maxBound :: a))
601601
@@ -641,7 +641,7 @@ declareSchemaBoundedEnumKeyMapping _ = case toJSONKey :: ToJSONKeyFunction key o
641641 let allKeys = [minBound..maxBound :: key]
642642 mkPair k = (keyToText k, valueRef)
643643 return $ mempty
644− & type_ .~ SwaggerObject
644+ & type_ ?~ SwaggerObject
645645 & properties .~ InsOrdHashMap.fromList (map mkPair allKeys)
646646
647647-- | A 'Schema' for a mapping with 'Bounded' 'Enum' keys.
@@ -715,7 +715,7 @@ paramSchemaToSchema proxy = mempty & paramSchema .~ toParamSchema proxy
715715
716716nullarySchema :: Schema
717717nullarySchema = mempty
718− & type_ .~ SwaggerArray
718+ & type_ ?~ SwaggerArray
719719 & items ?~ SwaggerItemsArray []
720720
721721gtoNamedSchema :: GToSchema f => SchemaOptions -> Proxy f -> NamedSchema
@@ -786,12 +786,12 @@ withFieldSchema opts _ isRequiredField schema = do
786786 return $
787787 if T.null fname
788788 then schema
789− & type_ .~ SwaggerArray
789+ & type_ ?~ SwaggerArray
790790 & items %~ appendItem ref
791791 & maxItems %~ Just . maybe 1 (+1) -- increment maxItems
792792 & minItems %~ Just . maybe 1 (+1) -- increment minItems
793793 else schema
794− & type_ .~ SwaggerObject
794+ & type_ ?~ SwaggerObject
795795 & properties . at fname ?~ ref
796796 & if isRequiredField
797797 then required %~ (++ [fname])
@@ -828,7 +828,7 @@ gdeclareNamedSumSchema opts proxy s
828828 (sumSchema, All allNullary) = undeclare (runWriterT declareSumSchema)
829829
830830 toStringTag schema = mempty
831− & type_ .~ SwaggerString
831+ & type_ ?~ SwaggerString
832832 & enum_ ?~ map toJSON (schema ^.. properties.ifolded.asIndex)
833833
834834type AllNullary = All
@@ -842,7 +842,7 @@ instance (GSumToSchema f, GSumToSchema g) => GSumToSchema (f :+: g) where
842842gsumConToSchemaWith :: forall c f. (GToSchema (C1 c f), Constructor c) =>
843843 Referenced Schema -> SchemaOptions -> Proxy (C1 c f) -> Schema -> Schema
844844gsumConToSchemaWith ref opts _ schema = schema
845− & type_ .~ SwaggerObject
845+ & type_ ?~ SwaggerObject
846846 & properties . at tag ?~ ref
847847 & maxProperties ?~ 1
848848 & minProperties ?~ 1