git.iko.soy/typeable/openapi3
on master help sign in
Add ParamSchema & Schema for Numeric.Natural
0d0d8cfGregor Kleen
src/Data/Swagger/Internal/ParamSchema.hs+7
@@ -39,6 +39,7 @@ import qualified Data.Vector as V
39import qualified Data.Vector.Primitive as VP
39import qualified Data.Vector.Primitive as VP
40import qualified Data.Vector.Storable as VS
40import qualified Data.Vector.Storable as VS
41import qualified Data.Vector.Unboxed as VU
41import qualified Data.Vector.Unboxed as VU
42+import Numeric.Natural
42import Data.Word
43import Data.Word
43import Data.UUID.Types (UUID)
44import Data.UUID.Types (UUID)
44
45
@@ -125,6 +126,12 @@ instance ToParamSchema Bool where
125instance ToParamSchema Integer where
126instance ToParamSchema Integer where
126 toParamSchema _ = mempty & type_ .~ SwaggerInteger
127 toParamSchema _ = mempty & type_ .~ SwaggerInteger
127
128
129+instance ToParamSchema Natural where
130+ toParamSchema _ = mempty
131+ & type_ .~ SwaggerInteger
132+ & minimum_ ?~ 0
133+ & exclusiveMinimum ?~ False
134+
128instance ToParamSchema Int where toParamSchema = toParamSchemaBoundedIntegral
135instance ToParamSchema Int where toParamSchema = toParamSchemaBoundedIntegral
129instance ToParamSchema Int8 where toParamSchema = toParamSchemaBoundedIntegral
136instance ToParamSchema Int8 where toParamSchema = toParamSchemaBoundedIntegral
130instance ToParamSchema Int16 where toParamSchema = toParamSchemaBoundedIntegral
137instance ToParamSchema Int16 where toParamSchema = toParamSchemaBoundedIntegral
src/Data/Swagger/Internal/Schema.hs+2
@@ -56,6 +56,7 @@ import qualified Data.Vector as V
56import qualified Data.Vector.Primitive as VP
56import qualified Data.Vector.Primitive as VP
57import qualified Data.Vector.Storable as VS
57import qualified Data.Vector.Storable as VS
58import qualified Data.Vector.Unboxed as VU
58import qualified Data.Vector.Unboxed as VU
59+import Numeric.Natural
59import Data.Word
60import Data.Word
60import GHC.Generics
61import GHC.Generics
61import qualified Data.UUID.Types as UUID
62import qualified Data.UUID.Types as UUID
@@ -419,6 +420,7 @@ instance OVERLAPPABLE_ ToSchema a => ToSchema [a] where
419instance OVERLAPPING_ ToSchema String where declareNamedSchema = plain . paramSchemaToSchema
420instance OVERLAPPING_ ToSchema String where declareNamedSchema = plain . paramSchemaToSchema
420instance ToSchema Bool where declareNamedSchema = plain . paramSchemaToSchema
421instance ToSchema Bool where declareNamedSchema = plain . paramSchemaToSchema
421instance ToSchema Integer where declareNamedSchema = plain . paramSchemaToSchema
422instance ToSchema Integer where declareNamedSchema = plain . paramSchemaToSchema
423+instance ToSchema Natural where declareNamedSchema = plain . paramSchemaToSchema
422instance ToSchema Int where declareNamedSchema = plain . paramSchemaToSchema
424instance ToSchema Int where declareNamedSchema = plain . paramSchemaToSchema
423instance ToSchema Int8 where declareNamedSchema = plain . paramSchemaToSchema
425instance ToSchema Int8 where declareNamedSchema = plain . paramSchemaToSchema
424instance ToSchema Int16 where declareNamedSchema = plain . paramSchemaToSchema
426instance ToSchema Int16 where declareNamedSchema = plain . paramSchemaToSchema