Adds spec additionalProperties + nullable examples (#2405)

* Adds v2 spec additionalproperties examples, adds v3 spec nulllable model example, updates samples

* Remaining samples updates

* Adds csharp generator update to handle models with multilevel parent types, which works for the AdditionalPropertiesObject model, samples updated
This commit is contained in:
Justin Black
2019-03-20 00:31:28 -07:00
committed by William Cheng
parent c10463600a
commit b67318ef21
1174 changed files with 86297 additions and 2549 deletions

View File

@@ -213,26 +213,137 @@ newtype Username = Username { unUsername :: Text } deriving (P.Eq, P.Show)
-- * Models
-- ** AdditionalPropertiesAnyType
-- | AdditionalPropertiesAnyType
data AdditionalPropertiesAnyType = AdditionalPropertiesAnyType
{ additionalPropertiesAnyTypeName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show, P.Eq, P.Typeable)
-- | FromJSON AdditionalPropertiesAnyType
instance A.FromJSON AdditionalPropertiesAnyType where
parseJSON = A.withObject "AdditionalPropertiesAnyType" $ \o ->
AdditionalPropertiesAnyType
<$> (o .:? "name")
-- | ToJSON AdditionalPropertiesAnyType
instance A.ToJSON AdditionalPropertiesAnyType where
toJSON AdditionalPropertiesAnyType {..} =
_omitNulls
[ "name" .= additionalPropertiesAnyTypeName
]
-- | Construct a value of type 'AdditionalPropertiesAnyType' (by applying it's required fields, if any)
mkAdditionalPropertiesAnyType
:: AdditionalPropertiesAnyType
mkAdditionalPropertiesAnyType =
AdditionalPropertiesAnyType
{ additionalPropertiesAnyTypeName = Nothing
}
-- ** AdditionalPropertiesArray
-- | AdditionalPropertiesArray
data AdditionalPropertiesArray = AdditionalPropertiesArray
{ additionalPropertiesArrayName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show, P.Eq, P.Typeable)
-- | FromJSON AdditionalPropertiesArray
instance A.FromJSON AdditionalPropertiesArray where
parseJSON = A.withObject "AdditionalPropertiesArray" $ \o ->
AdditionalPropertiesArray
<$> (o .:? "name")
-- | ToJSON AdditionalPropertiesArray
instance A.ToJSON AdditionalPropertiesArray where
toJSON AdditionalPropertiesArray {..} =
_omitNulls
[ "name" .= additionalPropertiesArrayName
]
-- | Construct a value of type 'AdditionalPropertiesArray' (by applying it's required fields, if any)
mkAdditionalPropertiesArray
:: AdditionalPropertiesArray
mkAdditionalPropertiesArray =
AdditionalPropertiesArray
{ additionalPropertiesArrayName = Nothing
}
-- ** AdditionalPropertiesBoolean
-- | AdditionalPropertiesBoolean
data AdditionalPropertiesBoolean = AdditionalPropertiesBoolean
{ additionalPropertiesBooleanName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show, P.Eq, P.Typeable)
-- | FromJSON AdditionalPropertiesBoolean
instance A.FromJSON AdditionalPropertiesBoolean where
parseJSON = A.withObject "AdditionalPropertiesBoolean" $ \o ->
AdditionalPropertiesBoolean
<$> (o .:? "name")
-- | ToJSON AdditionalPropertiesBoolean
instance A.ToJSON AdditionalPropertiesBoolean where
toJSON AdditionalPropertiesBoolean {..} =
_omitNulls
[ "name" .= additionalPropertiesBooleanName
]
-- | Construct a value of type 'AdditionalPropertiesBoolean' (by applying it's required fields, if any)
mkAdditionalPropertiesBoolean
:: AdditionalPropertiesBoolean
mkAdditionalPropertiesBoolean =
AdditionalPropertiesBoolean
{ additionalPropertiesBooleanName = Nothing
}
-- ** AdditionalPropertiesClass
-- | AdditionalPropertiesClass
data AdditionalPropertiesClass = AdditionalPropertiesClass
{ additionalPropertiesClassMapProperty :: !(Maybe (Map.Map String Text)) -- ^ "map_property"
, additionalPropertiesClassMapOfMapProperty :: !(Maybe (Map.Map String (Map.Map String Text))) -- ^ "map_of_map_property"
{ additionalPropertiesClassMapString :: !(Maybe (Map.Map String Text)) -- ^ "map_string"
, additionalPropertiesClassMapNumber :: !(Maybe (Map.Map String Double)) -- ^ "map_number"
, additionalPropertiesClassMapInteger :: !(Maybe (Map.Map String Int)) -- ^ "map_integer"
, additionalPropertiesClassMapBoolean :: !(Maybe (Map.Map String Bool)) -- ^ "map_boolean"
, additionalPropertiesClassMapArrayInteger :: !(Maybe (Map.Map String [Int])) -- ^ "map_array_integer"
, additionalPropertiesClassMapArrayAnytype :: !(Maybe (Map.Map String [A.Value])) -- ^ "map_array_anytype"
, additionalPropertiesClassMapMapString :: !(Maybe (Map.Map String (Map.Map String Text))) -- ^ "map_map_string"
, additionalPropertiesClassMapMapAnytype :: !(Maybe (Map.Map String (Map.Map String A.Value))) -- ^ "map_map_anytype"
, additionalPropertiesClassAnytype1 :: !(Maybe A.Value) -- ^ "anytype_1"
, additionalPropertiesClassAnytype2 :: !(Maybe A.Value) -- ^ "anytype_2"
, additionalPropertiesClassAnytype3 :: !(Maybe A.Value) -- ^ "anytype_3"
} deriving (P.Show, P.Eq, P.Typeable)
-- | FromJSON AdditionalPropertiesClass
instance A.FromJSON AdditionalPropertiesClass where
parseJSON = A.withObject "AdditionalPropertiesClass" $ \o ->
AdditionalPropertiesClass
<$> (o .:? "map_property")
<*> (o .:? "map_of_map_property")
<$> (o .:? "map_string")
<*> (o .:? "map_number")
<*> (o .:? "map_integer")
<*> (o .:? "map_boolean")
<*> (o .:? "map_array_integer")
<*> (o .:? "map_array_anytype")
<*> (o .:? "map_map_string")
<*> (o .:? "map_map_anytype")
<*> (o .:? "anytype_1")
<*> (o .:? "anytype_2")
<*> (o .:? "anytype_3")
-- | ToJSON AdditionalPropertiesClass
instance A.ToJSON AdditionalPropertiesClass where
toJSON AdditionalPropertiesClass {..} =
_omitNulls
[ "map_property" .= additionalPropertiesClassMapProperty
, "map_of_map_property" .= additionalPropertiesClassMapOfMapProperty
[ "map_string" .= additionalPropertiesClassMapString
, "map_number" .= additionalPropertiesClassMapNumber
, "map_integer" .= additionalPropertiesClassMapInteger
, "map_boolean" .= additionalPropertiesClassMapBoolean
, "map_array_integer" .= additionalPropertiesClassMapArrayInteger
, "map_array_anytype" .= additionalPropertiesClassMapArrayAnytype
, "map_map_string" .= additionalPropertiesClassMapMapString
, "map_map_anytype" .= additionalPropertiesClassMapMapAnytype
, "anytype_1" .= additionalPropertiesClassAnytype1
, "anytype_2" .= additionalPropertiesClassAnytype2
, "anytype_3" .= additionalPropertiesClassAnytype3
]
@@ -241,8 +352,129 @@ mkAdditionalPropertiesClass
:: AdditionalPropertiesClass
mkAdditionalPropertiesClass =
AdditionalPropertiesClass
{ additionalPropertiesClassMapProperty = Nothing
, additionalPropertiesClassMapOfMapProperty = Nothing
{ additionalPropertiesClassMapString = Nothing
, additionalPropertiesClassMapNumber = Nothing
, additionalPropertiesClassMapInteger = Nothing
, additionalPropertiesClassMapBoolean = Nothing
, additionalPropertiesClassMapArrayInteger = Nothing
, additionalPropertiesClassMapArrayAnytype = Nothing
, additionalPropertiesClassMapMapString = Nothing
, additionalPropertiesClassMapMapAnytype = Nothing
, additionalPropertiesClassAnytype1 = Nothing
, additionalPropertiesClassAnytype2 = Nothing
, additionalPropertiesClassAnytype3 = Nothing
}
-- ** AdditionalPropertiesInteger
-- | AdditionalPropertiesInteger
data AdditionalPropertiesInteger = AdditionalPropertiesInteger
{ additionalPropertiesIntegerName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show, P.Eq, P.Typeable)
-- | FromJSON AdditionalPropertiesInteger
instance A.FromJSON AdditionalPropertiesInteger where
parseJSON = A.withObject "AdditionalPropertiesInteger" $ \o ->
AdditionalPropertiesInteger
<$> (o .:? "name")
-- | ToJSON AdditionalPropertiesInteger
instance A.ToJSON AdditionalPropertiesInteger where
toJSON AdditionalPropertiesInteger {..} =
_omitNulls
[ "name" .= additionalPropertiesIntegerName
]
-- | Construct a value of type 'AdditionalPropertiesInteger' (by applying it's required fields, if any)
mkAdditionalPropertiesInteger
:: AdditionalPropertiesInteger
mkAdditionalPropertiesInteger =
AdditionalPropertiesInteger
{ additionalPropertiesIntegerName = Nothing
}
-- ** AdditionalPropertiesNumber
-- | AdditionalPropertiesNumber
data AdditionalPropertiesNumber = AdditionalPropertiesNumber
{ additionalPropertiesNumberName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show, P.Eq, P.Typeable)
-- | FromJSON AdditionalPropertiesNumber
instance A.FromJSON AdditionalPropertiesNumber where
parseJSON = A.withObject "AdditionalPropertiesNumber" $ \o ->
AdditionalPropertiesNumber
<$> (o .:? "name")
-- | ToJSON AdditionalPropertiesNumber
instance A.ToJSON AdditionalPropertiesNumber where
toJSON AdditionalPropertiesNumber {..} =
_omitNulls
[ "name" .= additionalPropertiesNumberName
]
-- | Construct a value of type 'AdditionalPropertiesNumber' (by applying it's required fields, if any)
mkAdditionalPropertiesNumber
:: AdditionalPropertiesNumber
mkAdditionalPropertiesNumber =
AdditionalPropertiesNumber
{ additionalPropertiesNumberName = Nothing
}
-- ** AdditionalPropertiesObject
-- | AdditionalPropertiesObject
data AdditionalPropertiesObject = AdditionalPropertiesObject
{ additionalPropertiesObjectName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show, P.Eq, P.Typeable)
-- | FromJSON AdditionalPropertiesObject
instance A.FromJSON AdditionalPropertiesObject where
parseJSON = A.withObject "AdditionalPropertiesObject" $ \o ->
AdditionalPropertiesObject
<$> (o .:? "name")
-- | ToJSON AdditionalPropertiesObject
instance A.ToJSON AdditionalPropertiesObject where
toJSON AdditionalPropertiesObject {..} =
_omitNulls
[ "name" .= additionalPropertiesObjectName
]
-- | Construct a value of type 'AdditionalPropertiesObject' (by applying it's required fields, if any)
mkAdditionalPropertiesObject
:: AdditionalPropertiesObject
mkAdditionalPropertiesObject =
AdditionalPropertiesObject
{ additionalPropertiesObjectName = Nothing
}
-- ** AdditionalPropertiesString
-- | AdditionalPropertiesString
data AdditionalPropertiesString = AdditionalPropertiesString
{ additionalPropertiesStringName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show, P.Eq, P.Typeable)
-- | FromJSON AdditionalPropertiesString
instance A.FromJSON AdditionalPropertiesString where
parseJSON = A.withObject "AdditionalPropertiesString" $ \o ->
AdditionalPropertiesString
<$> (o .:? "name")
-- | ToJSON AdditionalPropertiesString
instance A.ToJSON AdditionalPropertiesString where
toJSON AdditionalPropertiesString {..} =
_omitNulls
[ "name" .= additionalPropertiesStringName
]
-- | Construct a value of type 'AdditionalPropertiesString' (by applying it's required fields, if any)
mkAdditionalPropertiesString
:: AdditionalPropertiesString
mkAdditionalPropertiesString =
AdditionalPropertiesString
{ additionalPropertiesStringName = Nothing
}
-- ** Animal

View File

@@ -36,17 +36,125 @@ import OpenAPIPetstore.Model
import OpenAPIPetstore.Core
-- * AdditionalPropertiesAnyType
-- | 'additionalPropertiesAnyTypeName' Lens
additionalPropertiesAnyTypeNameL :: Lens_' AdditionalPropertiesAnyType (Maybe Text)
additionalPropertiesAnyTypeNameL f AdditionalPropertiesAnyType{..} = (\additionalPropertiesAnyTypeName -> AdditionalPropertiesAnyType { additionalPropertiesAnyTypeName, ..} ) <$> f additionalPropertiesAnyTypeName
{-# INLINE additionalPropertiesAnyTypeNameL #-}
-- * AdditionalPropertiesArray
-- | 'additionalPropertiesArrayName' Lens
additionalPropertiesArrayNameL :: Lens_' AdditionalPropertiesArray (Maybe Text)
additionalPropertiesArrayNameL f AdditionalPropertiesArray{..} = (\additionalPropertiesArrayName -> AdditionalPropertiesArray { additionalPropertiesArrayName, ..} ) <$> f additionalPropertiesArrayName
{-# INLINE additionalPropertiesArrayNameL #-}
-- * AdditionalPropertiesBoolean
-- | 'additionalPropertiesBooleanName' Lens
additionalPropertiesBooleanNameL :: Lens_' AdditionalPropertiesBoolean (Maybe Text)
additionalPropertiesBooleanNameL f AdditionalPropertiesBoolean{..} = (\additionalPropertiesBooleanName -> AdditionalPropertiesBoolean { additionalPropertiesBooleanName, ..} ) <$> f additionalPropertiesBooleanName
{-# INLINE additionalPropertiesBooleanNameL #-}
-- * AdditionalPropertiesClass
-- | 'additionalPropertiesClassMapProperty' Lens
additionalPropertiesClassMapPropertyL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String Text))
additionalPropertiesClassMapPropertyL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapProperty -> AdditionalPropertiesClass { additionalPropertiesClassMapProperty, ..} ) <$> f additionalPropertiesClassMapProperty
{-# INLINE additionalPropertiesClassMapPropertyL #-}
-- | 'additionalPropertiesClassMapString' Lens
additionalPropertiesClassMapStringL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String Text))
additionalPropertiesClassMapStringL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapString -> AdditionalPropertiesClass { additionalPropertiesClassMapString, ..} ) <$> f additionalPropertiesClassMapString
{-# INLINE additionalPropertiesClassMapStringL #-}
-- | 'additionalPropertiesClassMapOfMapProperty' Lens
additionalPropertiesClassMapOfMapPropertyL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String (Map.Map String Text)))
additionalPropertiesClassMapOfMapPropertyL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapOfMapProperty -> AdditionalPropertiesClass { additionalPropertiesClassMapOfMapProperty, ..} ) <$> f additionalPropertiesClassMapOfMapProperty
{-# INLINE additionalPropertiesClassMapOfMapPropertyL #-}
-- | 'additionalPropertiesClassMapNumber' Lens
additionalPropertiesClassMapNumberL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String Double))
additionalPropertiesClassMapNumberL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapNumber -> AdditionalPropertiesClass { additionalPropertiesClassMapNumber, ..} ) <$> f additionalPropertiesClassMapNumber
{-# INLINE additionalPropertiesClassMapNumberL #-}
-- | 'additionalPropertiesClassMapInteger' Lens
additionalPropertiesClassMapIntegerL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String Int))
additionalPropertiesClassMapIntegerL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapInteger -> AdditionalPropertiesClass { additionalPropertiesClassMapInteger, ..} ) <$> f additionalPropertiesClassMapInteger
{-# INLINE additionalPropertiesClassMapIntegerL #-}
-- | 'additionalPropertiesClassMapBoolean' Lens
additionalPropertiesClassMapBooleanL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String Bool))
additionalPropertiesClassMapBooleanL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapBoolean -> AdditionalPropertiesClass { additionalPropertiesClassMapBoolean, ..} ) <$> f additionalPropertiesClassMapBoolean
{-# INLINE additionalPropertiesClassMapBooleanL #-}
-- | 'additionalPropertiesClassMapArrayInteger' Lens
additionalPropertiesClassMapArrayIntegerL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String [Int]))
additionalPropertiesClassMapArrayIntegerL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapArrayInteger -> AdditionalPropertiesClass { additionalPropertiesClassMapArrayInteger, ..} ) <$> f additionalPropertiesClassMapArrayInteger
{-# INLINE additionalPropertiesClassMapArrayIntegerL #-}
-- | 'additionalPropertiesClassMapArrayAnytype' Lens
additionalPropertiesClassMapArrayAnytypeL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String [A.Value]))
additionalPropertiesClassMapArrayAnytypeL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapArrayAnytype -> AdditionalPropertiesClass { additionalPropertiesClassMapArrayAnytype, ..} ) <$> f additionalPropertiesClassMapArrayAnytype
{-# INLINE additionalPropertiesClassMapArrayAnytypeL #-}
-- | 'additionalPropertiesClassMapMapString' Lens
additionalPropertiesClassMapMapStringL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String (Map.Map String Text)))
additionalPropertiesClassMapMapStringL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapMapString -> AdditionalPropertiesClass { additionalPropertiesClassMapMapString, ..} ) <$> f additionalPropertiesClassMapMapString
{-# INLINE additionalPropertiesClassMapMapStringL #-}
-- | 'additionalPropertiesClassMapMapAnytype' Lens
additionalPropertiesClassMapMapAnytypeL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String (Map.Map String A.Value)))
additionalPropertiesClassMapMapAnytypeL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapMapAnytype -> AdditionalPropertiesClass { additionalPropertiesClassMapMapAnytype, ..} ) <$> f additionalPropertiesClassMapMapAnytype
{-# INLINE additionalPropertiesClassMapMapAnytypeL #-}
-- | 'additionalPropertiesClassAnytype1' Lens
additionalPropertiesClassAnytype1L :: Lens_' AdditionalPropertiesClass (Maybe A.Value)
additionalPropertiesClassAnytype1L f AdditionalPropertiesClass{..} = (\additionalPropertiesClassAnytype1 -> AdditionalPropertiesClass { additionalPropertiesClassAnytype1, ..} ) <$> f additionalPropertiesClassAnytype1
{-# INLINE additionalPropertiesClassAnytype1L #-}
-- | 'additionalPropertiesClassAnytype2' Lens
additionalPropertiesClassAnytype2L :: Lens_' AdditionalPropertiesClass (Maybe A.Value)
additionalPropertiesClassAnytype2L f AdditionalPropertiesClass{..} = (\additionalPropertiesClassAnytype2 -> AdditionalPropertiesClass { additionalPropertiesClassAnytype2, ..} ) <$> f additionalPropertiesClassAnytype2
{-# INLINE additionalPropertiesClassAnytype2L #-}
-- | 'additionalPropertiesClassAnytype3' Lens
additionalPropertiesClassAnytype3L :: Lens_' AdditionalPropertiesClass (Maybe A.Value)
additionalPropertiesClassAnytype3L f AdditionalPropertiesClass{..} = (\additionalPropertiesClassAnytype3 -> AdditionalPropertiesClass { additionalPropertiesClassAnytype3, ..} ) <$> f additionalPropertiesClassAnytype3
{-# INLINE additionalPropertiesClassAnytype3L #-}
-- * AdditionalPropertiesInteger
-- | 'additionalPropertiesIntegerName' Lens
additionalPropertiesIntegerNameL :: Lens_' AdditionalPropertiesInteger (Maybe Text)
additionalPropertiesIntegerNameL f AdditionalPropertiesInteger{..} = (\additionalPropertiesIntegerName -> AdditionalPropertiesInteger { additionalPropertiesIntegerName, ..} ) <$> f additionalPropertiesIntegerName
{-# INLINE additionalPropertiesIntegerNameL #-}
-- * AdditionalPropertiesNumber
-- | 'additionalPropertiesNumberName' Lens
additionalPropertiesNumberNameL :: Lens_' AdditionalPropertiesNumber (Maybe Text)
additionalPropertiesNumberNameL f AdditionalPropertiesNumber{..} = (\additionalPropertiesNumberName -> AdditionalPropertiesNumber { additionalPropertiesNumberName, ..} ) <$> f additionalPropertiesNumberName
{-# INLINE additionalPropertiesNumberNameL #-}
-- * AdditionalPropertiesObject
-- | 'additionalPropertiesObjectName' Lens
additionalPropertiesObjectNameL :: Lens_' AdditionalPropertiesObject (Maybe Text)
additionalPropertiesObjectNameL f AdditionalPropertiesObject{..} = (\additionalPropertiesObjectName -> AdditionalPropertiesObject { additionalPropertiesObjectName, ..} ) <$> f additionalPropertiesObjectName
{-# INLINE additionalPropertiesObjectNameL #-}
-- * AdditionalPropertiesString
-- | 'additionalPropertiesStringName' Lens
additionalPropertiesStringNameL :: Lens_' AdditionalPropertiesString (Maybe Text)
additionalPropertiesStringNameL f AdditionalPropertiesString{..} = (\additionalPropertiesStringName -> AdditionalPropertiesString { additionalPropertiesStringName, ..} ) <$> f additionalPropertiesStringName
{-# INLINE additionalPropertiesStringNameL #-}

View File

@@ -1476,16 +1476,112 @@ components:
type: object
AdditionalPropertiesClass:
properties:
map_property:
map_string:
additionalProperties:
type: string
type: object
map_of_map_property:
map_number:
additionalProperties:
type: number
type: object
map_integer:
additionalProperties:
type: integer
type: object
map_boolean:
additionalProperties:
type: boolean
type: object
map_array_integer:
additionalProperties:
items:
type: integer
type: array
type: object
map_array_anytype:
additionalProperties:
items:
properties: {}
type: object
type: array
type: object
map_map_string:
additionalProperties:
additionalProperties:
type: string
type: object
type: object
map_map_anytype:
additionalProperties:
additionalProperties:
properties: {}
type: object
type: object
type: object
anytype_1:
properties: {}
type: object
anytype_2:
type: object
anytype_3:
properties: {}
type: object
type: object
AdditionalPropertiesString:
additionalProperties:
type: string
properties:
name:
type: string
type: object
AdditionalPropertiesInteger:
additionalProperties:
type: integer
properties:
name:
type: string
type: object
AdditionalPropertiesNumber:
additionalProperties:
type: number
properties:
name:
type: string
type: object
AdditionalPropertiesBoolean:
additionalProperties:
type: boolean
properties:
name:
type: string
type: object
AdditionalPropertiesArray:
additionalProperties:
items:
properties: {}
type: object
type: array
properties:
name:
type: string
type: object
AdditionalPropertiesObject:
additionalProperties:
additionalProperties:
properties: {}
type: object
type: object
properties:
name:
type: string
type: object
AdditionalPropertiesAnyType:
additionalProperties:
properties: {}
type: object
properties:
name:
type: string
type: object
MixedPropertiesAndAdditionalPropertiesClass:
properties:

View File

@@ -104,14 +104,79 @@ arbitraryReducedMaybeValue n = do
-- * Models
instance Arbitrary AdditionalPropertiesAnyType where
arbitrary = sized genAdditionalPropertiesAnyType
genAdditionalPropertiesAnyType :: Int -> Gen AdditionalPropertiesAnyType
genAdditionalPropertiesAnyType n =
AdditionalPropertiesAnyType
<$> arbitraryReducedMaybe n -- additionalPropertiesAnyTypeName :: Maybe Text
instance Arbitrary AdditionalPropertiesArray where
arbitrary = sized genAdditionalPropertiesArray
genAdditionalPropertiesArray :: Int -> Gen AdditionalPropertiesArray
genAdditionalPropertiesArray n =
AdditionalPropertiesArray
<$> arbitraryReducedMaybe n -- additionalPropertiesArrayName :: Maybe Text
instance Arbitrary AdditionalPropertiesBoolean where
arbitrary = sized genAdditionalPropertiesBoolean
genAdditionalPropertiesBoolean :: Int -> Gen AdditionalPropertiesBoolean
genAdditionalPropertiesBoolean n =
AdditionalPropertiesBoolean
<$> arbitraryReducedMaybe n -- additionalPropertiesBooleanName :: Maybe Text
instance Arbitrary AdditionalPropertiesClass where
arbitrary = sized genAdditionalPropertiesClass
genAdditionalPropertiesClass :: Int -> Gen AdditionalPropertiesClass
genAdditionalPropertiesClass n =
AdditionalPropertiesClass
<$> arbitraryReducedMaybe n -- additionalPropertiesClassMapProperty :: Maybe (Map.Map String Text)
<*> arbitraryReducedMaybe n -- additionalPropertiesClassMapOfMapProperty :: Maybe (Map.Map String (Map.Map String Text))
<$> arbitraryReducedMaybe n -- additionalPropertiesClassMapString :: Maybe (Map.Map String Text)
<*> arbitraryReducedMaybe n -- additionalPropertiesClassMapNumber :: Maybe (Map.Map String Double)
<*> arbitraryReducedMaybe n -- additionalPropertiesClassMapInteger :: Maybe (Map.Map String Int)
<*> arbitraryReducedMaybe n -- additionalPropertiesClassMapBoolean :: Maybe (Map.Map String Bool)
<*> arbitraryReducedMaybe n -- additionalPropertiesClassMapArrayInteger :: Maybe (Map.Map String [Int])
<*> arbitraryReducedMaybe n -- additionalPropertiesClassMapArrayAnytype :: Maybe (Map.Map String [A.Value])
<*> arbitraryReducedMaybe n -- additionalPropertiesClassMapMapString :: Maybe (Map.Map String (Map.Map String Text))
<*> arbitraryReducedMaybe n -- additionalPropertiesClassMapMapAnytype :: Maybe (Map.Map String (Map.Map String A.Value))
<*> arbitraryReducedMaybeValue n -- additionalPropertiesClassAnytype1 :: Maybe A.Value
<*> arbitraryReducedMaybeValue n -- additionalPropertiesClassAnytype2 :: Maybe A.Value
<*> arbitraryReducedMaybeValue n -- additionalPropertiesClassAnytype3 :: Maybe A.Value
instance Arbitrary AdditionalPropertiesInteger where
arbitrary = sized genAdditionalPropertiesInteger
genAdditionalPropertiesInteger :: Int -> Gen AdditionalPropertiesInteger
genAdditionalPropertiesInteger n =
AdditionalPropertiesInteger
<$> arbitraryReducedMaybe n -- additionalPropertiesIntegerName :: Maybe Text
instance Arbitrary AdditionalPropertiesNumber where
arbitrary = sized genAdditionalPropertiesNumber
genAdditionalPropertiesNumber :: Int -> Gen AdditionalPropertiesNumber
genAdditionalPropertiesNumber n =
AdditionalPropertiesNumber
<$> arbitraryReducedMaybe n -- additionalPropertiesNumberName :: Maybe Text
instance Arbitrary AdditionalPropertiesObject where
arbitrary = sized genAdditionalPropertiesObject
genAdditionalPropertiesObject :: Int -> Gen AdditionalPropertiesObject
genAdditionalPropertiesObject n =
AdditionalPropertiesObject
<$> arbitraryReducedMaybe n -- additionalPropertiesObjectName :: Maybe Text
instance Arbitrary AdditionalPropertiesString where
arbitrary = sized genAdditionalPropertiesString
genAdditionalPropertiesString :: Int -> Gen AdditionalPropertiesString
genAdditionalPropertiesString n =
AdditionalPropertiesString
<$> arbitraryReducedMaybe n -- additionalPropertiesStringName :: Maybe Text
instance Arbitrary Animal where
arbitrary = sized genAnimal

View File

@@ -20,7 +20,14 @@ main =
hspec $ modifyMaxSize (const 10) $ do
describe "JSON instances" $ do
pure ()
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesAnyType)
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesArray)
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesBoolean)
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesClass)
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesInteger)
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesNumber)
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesObject)
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesString)
propMimeEq MimeJSON (Proxy :: Proxy Animal)
propMimeEq MimeJSON (Proxy :: Proxy ApiResponse)
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfArrayOfNumberOnly)