git.iko.soy/typeable/openapi3
on master help sign in
rename Data.Swagger to Data.OpenApi
commitd7deedeb1147ee1ed26095de0c6a8146181383a8 authorPaweł Nosal <pawel.nosal@ocado.com> dateMon 3 Aug 2020, 22:06 (6 years ago) parent867ff82
27 files changed+145−148
README.md+2−2 examples/hackage.hs+4−4 openapi3.cabal+24−24 src/Data/Swagger.hs → src/Data/OpenApi.hs+18−18 src/Data/Swagger/Declare.hs → src/Data/OpenApi/Declare.hs+2−2 src/Data/Swagger/Internal.hs → src/Data/OpenApi/Internal.hs+17−18 src/Data/Swagger/Internal/AesonUtils.hs → src/Data/OpenApi/Internal/AesonUtils.hs+2−4 src/Data/Swagger/Internal/ParamSchema.hs → src/Data/OpenApi/Internal/ParamSchema.hs+4−4 src/Data/Swagger/Internal/Schema.hs → src/Data/OpenApi/Internal/Schema.hs+10−10 src/Data/Swagger/Internal/Schema/Validation.hs → src/Data/OpenApi/Internal/Schema/Validation.hs+6−6 src/Data/Swagger/Internal/TypeShape.hs → src/Data/OpenApi/Internal/TypeShape.hs+1−1 src/Data/Swagger/Internal/Utils.hs → src/Data/OpenApi/Internal/Utils.hs+1−1 src/Data/Swagger/Lens.hs → src/Data/OpenApi/Lens.hs+4−4 src/Data/Swagger/Operation.hs → src/Data/OpenApi/Operation.hs+6−6 src/Data/Swagger/Optics.hs → src/Data/OpenApi/Optics.hs+4−4 src/Data/Swagger/ParamSchema.hs → src/Data/OpenApi/ParamSchema.hs+4−4 src/Data/Swagger/Schema.hs → src/Data/OpenApi/Schema.hs+4−4 src/Data/Swagger/Schema/Generator.hs → src/Data/OpenApi/Schema/Generator.hs+4−4 src/Data/Swagger/Schema/Validation.hs → src/Data/OpenApi/Schema/Validation.hs+4−4 src/Data/Swagger/SchemaOptions.hs → src/Data/OpenApi/SchemaOptions.hs+2−2 stack.yaml+1−1 test/Data/Swagger/CommonTestTypes.hs → test/Data/OpenApi/CommonTestTypes.hs+2−2 test/Data/Swagger/ParamSchemaSpec.hs → test/Data/OpenApi/ParamSchemaSpec.hs+3−3 test/Data/Swagger/Schema/GeneratorSpec.hs → test/Data/OpenApi/Schema/GeneratorSpec.hs+3−3 test/Data/Swagger/Schema/ValidationSpec.hs → test/Data/OpenApi/Schema/ValidationSpec.hs+6−6 test/Data/Swagger/SchemaSpec.hs → test/Data/OpenApi/SchemaSpec.hs+4−4 test/Data/SwaggerSpec.hs → test/Data/OpenApiSpec.hs+3−3
README.md+2−2
@@ -1,4 +1,4 @@
1−# swagger2
1+# OpenApi 3
22
33[![Hackage](https://img.shields.io/hackage/v/openapi3.svg)](http://hackage.haskell.org/package/openapi3)
44[![Build Status](https://travis-ci.org/biocad/openapi3.svg?branch=master)](https://travis-ci.org/biocad/openapi3)
@@ -14,7 +14,7 @@ https://github.com/GetShopTV/swagger2.
1414
1515## Usage
1616
17−This library is intended to be used for decoding and encoding Swagger 2.0 API specifications as well as manipulating them.
17+This library is intended to be used for decoding and encoding OpenApi 3.0.3 specifications as well as manipulating them.
1818
1919Please refer to [haddock documentation](http://hackage.haskell.org/package/openapi3).
2020
examples/hackage.hs+4−4
@@ -10,10 +10,10 @@ import Data.Proxy
1010import Data.Text (Text)
1111import GHC.Generics
1212
13−import Data.Swagger
14−import Data.Swagger.Declare
15−import Data.Swagger.Lens
16−import Data.Swagger.Operation
13+import Data.OpenApi
14+import Data.OpenApi.Declare
15+import Data.OpenApi.Lens
16+import Data.OpenApi.Operation
1717
1818type Username = Text
1919
openapi3.cabal+24−24
@@ -3,7 +3,7 @@ name: openapi3
33version: 3.0.0
44
55synopsis: OpenAPI 3.0 data model
6−category: Web, Swagger
6+category: Web, Swagger, OpenApi
77description:
88 This library is intended to be used for decoding and encoding OpenAPI 3.0 API
99 specifications as well as manipulating them.
@@ -35,25 +35,25 @@ custom-setup
3535library
3636 hs-source-dirs: src
3737 exposed-modules:
38− Data.Swagger
39− Data.Swagger.Declare
40− Data.Swagger.Lens
41− Data.Swagger.Operation
42− Data.Swagger.Optics
43− Data.Swagger.ParamSchema
44− Data.Swagger.Schema
45− Data.Swagger.Schema.Generator
46− Data.Swagger.Schema.Validation
47− Data.Swagger.SchemaOptions
38+ Data.OpenApi
39+ Data.OpenApi.Declare
40+ Data.OpenApi.Lens
41+ Data.OpenApi.Operation
42+ Data.OpenApi.Optics
43+ Data.OpenApi.ParamSchema
44+ Data.OpenApi.Schema
45+ Data.OpenApi.Schema.Generator
46+ Data.OpenApi.Schema.Validation
47+ Data.OpenApi.SchemaOptions
4848
4949 -- internal modules
50− Data.Swagger.Internal
51− Data.Swagger.Internal.Schema
52− Data.Swagger.Internal.Schema.Validation
53− Data.Swagger.Internal.ParamSchema
54− Data.Swagger.Internal.Utils
55− Data.Swagger.Internal.AesonUtils
56− Data.Swagger.Internal.TypeShape
50+ Data.OpenApi.Internal
51+ Data.OpenApi.Internal.Schema
52+ Data.OpenApi.Internal.Schema.Validation
53+ Data.OpenApi.Internal.ParamSchema
54+ Data.OpenApi.Internal.Utils
55+ Data.OpenApi.Internal.AesonUtils
56+ Data.OpenApi.Internal.TypeShape
5757
5858 -- GHC boot libraries
5959 build-depends:
@@ -129,12 +129,12 @@ test-suite spec
129129
130130 other-modules:
131131 SpecCommon
132− Data.SwaggerSpec
133− Data.Swagger.CommonTestTypes
134− Data.Swagger.ParamSchemaSpec
135− Data.Swagger.SchemaSpec
136− Data.Swagger.Schema.ValidationSpec
137− Data.Swagger.Schema.GeneratorSpec
132+ Data.OpenApiSpec
133+ Data.OpenApi.CommonTestTypes
134+ Data.OpenApi.ParamSchemaSpec
135+ Data.OpenApi.SchemaSpec
136+ Data.OpenApi.Schema.ValidationSpec
137+ Data.OpenApi.Schema.GeneratorSpec
138138 default-language: Haskell2010
139139
140140test-suite doctests
src/Data/Swagger.hs → src/Data/OpenApi.hsrenamed+18−18
@@ -1,5 +1,5 @@
11-- |
2−-- Module: Data.Swagger
2+-- Module: Data.OpenApi
33-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
44-- Stability: experimental
55--
@@ -9,7 +9,7 @@
99-- These files can then be used by the Swagger-UI project to display the API
1010-- and Swagger-Codegen to generate clients in various languages.
1111-- Additional utilities can also take advantage of the resulting files, such as testing tools.
12−module Data.Swagger (
12+module Data.OpenApi (
1313 -- * How to use this library
1414 -- $howto
1515
@@ -29,12 +29,12 @@ module Data.Swagger (
2929 -- $validation
3030
3131 -- * Re-exports
32− module Data.Swagger.Lens,
33− module Data.Swagger.Optics,
34− module Data.Swagger.Operation,
35− module Data.Swagger.ParamSchema,
36− module Data.Swagger.Schema,
37− module Data.Swagger.Schema.Validation,
32+ module Data.OpenApi.Lens,
33+ module Data.OpenApi.Optics,
34+ module Data.OpenApi.Operation,
35+ module Data.OpenApi.ParamSchema,
36+ module Data.OpenApi.Schema,
37+ module Data.OpenApi.Schema.Validation,
3838
3939 -- * Swagger specification
4040 Swagger(..),
@@ -120,14 +120,14 @@ module Data.Swagger (
120120 URL(..),
121121) where
122122
123−import Data.Swagger.Lens
124−import Data.Swagger.Optics ()
125−import Data.Swagger.Operation
126−import Data.Swagger.ParamSchema
127−import Data.Swagger.Schema
128−import Data.Swagger.Schema.Validation
123+import Data.OpenApi.Lens
124+import Data.OpenApi.Optics ()
125+import Data.OpenApi.Operation
126+import Data.OpenApi.ParamSchema
127+import Data.OpenApi.Schema
128+import Data.OpenApi.Schema.Validation
129129
130−import Data.Swagger.Internal
130+import Data.OpenApi.Internal
131131
132132-- $setup
133133-- >>> import Control.Lens
@@ -186,7 +186,7 @@ import Data.Swagger.Internal
186186
187187-- $lens
188188--
189−-- Note: if you're working with the <https://hackage.haskell.org/package/optics optics> library, take a look at "Data.Swagger.Optics".
189+-- Note: if you're working with the <https://hackage.haskell.org/package/optics optics> library, take a look at "Data.OpenApi.Optics".
190190--
191191-- Since @'Swagger'@ has a fairly complex structure, lenses and prisms are used
192192-- to work comfortably with it. In combination with @'Monoid'@ instances, lenses
@@ -298,10 +298,10 @@ import Data.Swagger.Internal
298298-- for a type-level servant API.
299299--
300300-- Lenses and prisms can be used to manipulate such specification to add additional information, tags, extra responses, etc.
301−-- To facilitate common needs, @"Data.Swagger.Operation"@ module provides useful helpers.
301+-- To facilitate common needs, @"Data.OpenApi.Operation"@ module provides useful helpers.
302302
303303-- $validation
304304-- While @'ToParamSchema'@ and @'ToSchema'@ provide means to easily obtain schemas for Haskell types,
305305-- there is no static mechanism to ensure those instances correspond to the @'ToHttpApiData'@ or @'ToJSON'@ instances.
306306--
307−-- @"Data.Swagger.Schema.Validation"@ addresses @'ToJSON'@/@'ToSchema'@ validation.
307+-- @"Data.OpenApi.Schema.Validation"@ addresses @'ToJSON'@/@'ToSchema'@ validation.
src/Data/Swagger/Declare.hs → src/Data/OpenApi/Declare.hsrenamed+2−2
@@ -4,12 +4,12 @@
44{-# LANGUAGE MultiParamTypeClasses #-}
55{-# LANGUAGE UndecidableInstances #-}
66-- |
7−-- Module: Data.Swagger.Declare
7+-- Module: Data.OpenApi.Declare
88-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
99-- Stability: experimental
1010--
1111-- Declare monad transformer and associated functions.
12−module Data.Swagger.Declare where
12+module Data.OpenApi.Declare where
1313
1414import Prelude ()
1515import Prelude.Compat
src/Data/Swagger/Internal.hs → src/Data/OpenApi/Internal.hsrenamed+17−18
@@ -1,6 +1,5 @@
11{-# LANGUAGE DataKinds #-}
22{-# LANGUAGE DeriveDataTypeable #-}
3−{-# LANGUAGE DeriveFunctor #-}
43{-# LANGUAGE DeriveGeneric #-}
54{-# LANGUAGE DeriveTraversable #-}
65{-# LANGUAGE FlexibleContexts #-}
@@ -14,7 +13,7 @@
1413{-# LANGUAGE TemplateHaskell #-}
1514{-# LANGUAGE TypeFamilies #-}
1615{-# LANGUAGE UndecidableInstances #-}
17−module Data.Swagger.Internal where
16+module Data.OpenApi.Internal where
1817
1918import Prelude ()
2019import Prelude.Compat
@@ -47,7 +46,7 @@ import Data.HashMap.Strict.InsOrd (InsOrdHashMap)
4746import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
4847
4948import Generics.SOP.TH (deriveGeneric)
50−import Data.Swagger.Internal.AesonUtils (sopSwaggerGenericToJSON
49+import Data.OpenApi.Internal.AesonUtils (sopSwaggerGenericToJSON
5150 ,sopSwaggerGenericToJSONWithOpts
5251 ,sopSwaggerGenericParseJSON
5352 ,HasSwaggerAesonOptions(..)
@@ -55,8 +54,8 @@ import Data.Swagger.Internal.AesonUtils (sopSwaggerGenericToJSON
5554 ,mkSwaggerAesonOptions
5655 ,saoAdditionalPairs
5756 ,saoSubObject)
58−import Data.Swagger.Internal.Utils
59−import Data.Swagger.Internal.AesonUtils (sopSwaggerGenericToEncoding)
57+import Data.OpenApi.Internal.Utils
58+import Data.OpenApi.Internal.AesonUtils (sopSwaggerGenericToEncoding)
6059
6160-- $setup
6261-- >>> :seti -XDataKinds
@@ -433,11 +432,11 @@ mimeListConstr :: Constr
433432mimeListConstr = mkConstr mimeListDataType "MimeList" ["getMimeList"] Prefix
434433
435434mimeListDataType :: DataType
436−mimeListDataType = mkDataType "Data.Swagger.MimeList" [mimeListConstr]
435+mimeListDataType = mkDataType "Data.OpenApi.MimeList" [mimeListConstr]
437436
438437instance Data MimeList where
439438 gunfold k z c = case constrIndex c of
440− 1 -> k (z (\xs -> MimeList (map fromString xs)))
439+ 1 -> k (z (MimeList . map fromString))
441440 _ -> error $ "Data.Data.gunfold: Constructor " ++ show c ++ " is not of type MimeList."
442441 toConstr (MimeList _) = mimeListConstr
443442 dataTypeOf _ = mimeListDataType
@@ -796,17 +795,17 @@ type AuthorizationURL = Text
796795-- | The token URL to be used for OAuth2 flow. This SHOULD be in the form of a URL.
797796type TokenURL = Text
798797
799−data OAuth2ImplicitFlow = OAuth2ImplicitFlow
800− { _oAuth2ImplicitFlowAuthorizationUrl :: AuthorizationURL
801− } deriving (Eq, Show, Generic, Data, Typeable)
798+newtype OAuth2ImplicitFlow
799+ = OAuth2ImplicitFlow {_oAuth2ImplicitFlowAuthorizationUrl :: AuthorizationURL}
800+ deriving (Eq, Show, Generic, Data, Typeable)
802801
803−data OAuth2PasswordFlow = OAuth2PasswordFlow
804− { _oAuth2PasswordFlowTokenUrl :: TokenURL
805− } deriving (Eq, Show, Generic, Data, Typeable)
802+newtype OAuth2PasswordFlow
803+ = OAuth2PasswordFlow {_oAuth2PasswordFlowTokenUrl :: TokenURL}
804+ deriving (Eq, Show, Generic, Data, Typeable)
806805
807−data OAuth2ClientCredentialsFlow = OAuth2ClientCredentialsFlow
808− { _oAuth2ClientCredentialsFlowTokenUrl :: TokenURL
809− } deriving (Eq, Show, Generic, Data, Typeable)
806+newtype OAuth2ClientCredentialsFlow
807+ = OAuth2ClientCredentialsFlow {_oAuth2ClientCredentialsFlowTokenUrl :: TokenURL}
808+ deriving (Eq, Show, Generic, Data, Typeable)
810809
811810data OAuth2AuthorizationCodeFlow = OAuth2AuthorizationCodeFlow
812811 { _oAuth2AuthorizationCodeFlowAuthorizationUrl :: AuthorizationURL
@@ -1420,7 +1419,7 @@ instance FromJSON Components where
14201419 parseJSON = sopSwaggerGenericParseJSON
14211420
14221421instance FromJSON MimeList where
1423− parseJSON js = (MimeList . map fromString) <$> parseJSON js
1422+ parseJSON js = MimeList . map fromString <$> parseJSON js
14241423
14251424instance FromJSON Param where
14261425 parseJSON = sopSwaggerGenericParseJSON
@@ -1428,7 +1427,7 @@ instance FromJSON Param where
14281427instance FromJSON Responses where
14291428 parseJSON (Object o) = Responses
14301429 <$> o .:? "default"
1431− <*> (parseJSON (Object (HashMap.delete "default" o)))
1430+ <*> parseJSON (Object (HashMap.delete "default" o))
14321431 parseJSON _ = empty
14331432
14341433instance FromJSON Example where
src/Data/Swagger/Internal/AesonUtils.hs → src/Data/OpenApi/Internal/AesonUtils.hsrenamed+2−4
@@ -5,7 +5,7 @@
55{-# LANGUAGE ExplicitForAll #-}
66{-# LANGUAGE TemplateHaskell #-}
77{-# LANGUAGE UndecidableSuperClasses #-}
8−module Data.Swagger.Internal.AesonUtils (
8+module Data.OpenApi.Internal.AesonUtils (
99 -- * Generic functions
1010 AesonDefaultValue(..),
1111 sopSwaggerGenericToJSON,
@@ -27,7 +27,7 @@ import Prelude.Compat
2727import Control.Applicative ((<|>))
2828import Control.Lens (makeLenses, (^.))
2929import Control.Monad (unless)
30−import Data.Aeson (ToJSON(..), FromJSON(..), Value(..), Object, object, (.:), (.:?), (.!=), withObject)
30+import Data.Aeson (ToJSON(..), FromJSON(..), Value(..), Object, object, (.:), (.:?), (.!=), withObject, Encoding, pairs, (.=), Series)
3131import Data.Aeson.Types (Parser, Pair)
3232import Data.Char (toLower, isUpper)
3333import Data.Foldable (traverse_)
@@ -41,8 +41,6 @@ import qualified Data.Set as Set
4141import qualified Data.HashMap.Strict.InsOrd as InsOrd
4242import qualified Data.HashSet.InsOrd as InsOrdHS
4343
44−import Data.Aeson (Encoding, pairs, (.=), Series)
45−
4644-------------------------------------------------------------------------------
4745-- SwaggerAesonOptions
4846-------------------------------------------------------------------------------
src/Data/Swagger/Internal/ParamSchema.hs → src/Data/OpenApi/Internal/ParamSchema.hsrenamed+4−4
@@ -15,7 +15,7 @@
1515{-# OPTIONS_GHC -Wno-redundant-constraints #-}
1616-- For TypeErrors
1717{-# OPTIONS_GHC -Wno-unticked-promoted-constructors #-}
18−module Data.Swagger.Internal.ParamSchema where
18+module Data.OpenApi.Internal.ParamSchema where
1919
2020import Control.Lens
2121import Data.Aeson (ToJSON (..))
@@ -41,9 +41,9 @@ import Data.Word
4141import Data.UUID.Types (UUID)
4242import Web.Cookie (SetCookie)
4343
44−import Data.Swagger.Internal
45−import Data.Swagger.Lens
46−import Data.Swagger.SchemaOptions
44+import Data.OpenApi.Internal
45+import Data.OpenApi.Lens
46+import Data.OpenApi.SchemaOptions
4747
4848import qualified Data.ByteString as BS
4949import qualified Data.ByteString.Lazy as BSL
src/Data/Swagger/Internal/Schema.hs → src/Data/OpenApi/Internal/Schema.hsrenamed+10−10
@@ -17,7 +17,7 @@
1717{-# OPTIONS_GHC -Wno-redundant-constraints #-}
1818-- For TypeErrors
1919{-# OPTIONS_GHC -Wno-unticked-promoted-constructors #-}
20−module Data.Swagger.Internal.Schema where
20+module Data.OpenApi.Internal.Schema where
2121
2222import Prelude ()
2323import Prelude.Compat
@@ -60,13 +60,13 @@ import Data.Word
6060import GHC.Generics
6161import qualified Data.UUID.Types as UUID
6262
63−import Data.Swagger.Declare
64−import Data.Swagger.Internal
65−import Data.Swagger.Internal.ParamSchema (ToParamSchema(..))
66−import Data.Swagger.Lens hiding (name, schema)
67−import qualified Data.Swagger.Lens as Swagger
68−import Data.Swagger.SchemaOptions
69−import Data.Swagger.Internal.TypeShape
63+import Data.OpenApi.Declare
64+import Data.OpenApi.Internal
65+import Data.OpenApi.Internal.ParamSchema (ToParamSchema(..))
66+import Data.OpenApi.Lens hiding (name, schema)
67+import qualified Data.OpenApi.Lens as Swagger
68+import Data.OpenApi.SchemaOptions
69+import Data.OpenApi.Internal.TypeShape
7070
7171import qualified Data.ByteString as BS
7272import qualified Data.ByteString.Lazy.Char8 as BSL
@@ -97,7 +97,7 @@ rename name (NamedSchema _ schema) = NamedSchema name schema
9797--
9898-- import Control.Lens
9999-- import Data.Proxy
100−-- import Data.Swagger
100+-- import Data.OpenApi
101101--
102102-- data Coord = Coord { x :: Double, y :: Double }
103103--
@@ -859,6 +859,6 @@ data Proxy2 a b = Proxy2
859859data Proxy3 a b c = Proxy3
860860
861861-- $setup
862−-- >>> import Data.Swagger
862+-- >>> import Data.OpenApi
863863-- >>> import Data.Aeson (encode)
864864-- >>> import Data.Aeson.Types (toJSONKeyText)
src/Data/Swagger/Internal/Schema/Validation.hs → src/Data/OpenApi/Internal/Schema/Validation.hsrenamed+6−6
@@ -14,14 +14,14 @@
1414{-# LANGUAGE UndecidableInstances #-}
1515{-# LANGUAGE ViewPatterns #-}
1616-- |
17−-- Module: Data.Swagger.Internal.Schema.Validation
17+-- Module: Data.OpenApi.Internal.Schema.Validation
1818-- Copyright: (c) 2015 GetShopTV
1919-- License: BSD3
2020-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
2121-- Stability: experimental
2222--
2323-- Validate JSON values with Swagger Schema.
24−module Data.Swagger.Internal.Schema.Validation where
24+module Data.OpenApi.Internal.Schema.Validation where
2525
2626import Prelude ()
2727import Prelude.Compat
@@ -48,10 +48,10 @@ import qualified Data.Text.Lazy.Encoding as TL
4848import Data.Vector (Vector)
4949import qualified Data.Vector as Vector
5050
51−import Data.Swagger.Declare
52−import Data.Swagger.Internal
53−import Data.Swagger.Internal.Schema
54−import Data.Swagger.Lens
51+import Data.OpenApi.Declare
52+import Data.OpenApi.Internal
53+import Data.OpenApi.Internal.Schema
54+import Data.OpenApi.Lens
5555
5656-- | Validate @'ToJSON'@ instance matches @'ToSchema'@ for a given value.
5757-- This can be used with QuickCheck to ensure those instances are coherent:
src/Data/Swagger/Internal/TypeShape.hs → src/Data/OpenApi/Internal/TypeShape.hsrenamed+1−1
@@ -4,7 +4,7 @@
44{-# LANGUAGE TypeOperators #-}
55{-# LANGUAGE UndecidableInstances #-}
66
7−module Data.Swagger.Internal.TypeShape where
7+module Data.OpenApi.Internal.TypeShape where
88
99import Data.Proxy
1010import GHC.Generics
src/Data/Swagger/Internal/Utils.hs → src/Data/OpenApi/Internal/Utils.hsrenamed+1−1
@@ -4,7 +4,7 @@
44{-# LANGUAGE OverloadedStrings #-}
55{-# LANGUAGE RankNTypes #-}
66{-# LANGUAGE TypeOperators #-}
7−module Data.Swagger.Internal.Utils where
7+module Data.OpenApi.Internal.Utils where
88
99import Prelude ()
1010import Prelude.Compat
src/Data/Swagger/Lens.hs → src/Data/OpenApi/Lens.hsrenamed+4−4
@@ -10,18 +10,18 @@
1010{-# LANGUAGE UndecidableInstances #-}
1111{-# OPTIONS_GHC -fno-warn-orphans #-}
1212-- |
13−-- Module: Data.Swagger.Lens
13+-- Module: Data.OpenApi.Lens
1414-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
1515-- Stability: experimental
1616--
1717-- Lenses and prisms for Swagger.
18−module Data.Swagger.Lens where
18+module Data.OpenApi.Lens where
1919
2020import Control.Lens
2121import Data.Aeson (Value)
2222import Data.Scientific (Scientific)
23−import Data.Swagger.Internal
24−import Data.Swagger.Internal.Utils
23+import Data.OpenApi.Internal
24+import Data.OpenApi.Internal.Utils
2525import Data.Text (Text)
2626
2727-- * Classy lenses
src/Data/Swagger/Operation.hs → src/Data/OpenApi/Operation.hsrenamed+6−6
@@ -1,13 +1,13 @@
11{-# LANGUAGE RankNTypes #-}
22-- |
3−-- Module: Data.Swagger.Operation
3+-- Module: Data.OpenApi.Operation
44-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
55-- Stability: experimental
66--
77-- Helper traversals and functions for Swagger operations manipulations.
88-- These might be useful when you already have Swagger specification
99-- generated by something else.
10−module Data.Swagger.Operation (
10+module Data.OpenApi.Operation (
1111 -- * Operation traversals
1212 allOperations,
1313 operationsOf,
@@ -42,10 +42,10 @@ import qualified Data.Set as Set
4242import Data.Text (Text)
4343import Network.HTTP.Media (MediaType)
4444
45−import Data.Swagger.Declare
46−import Data.Swagger.Internal
47−import Data.Swagger.Lens
48−import Data.Swagger.Schema
45+import Data.OpenApi.Declare
46+import Data.OpenApi.Internal
47+import Data.OpenApi.Lens
48+import Data.OpenApi.Schema
4949
5050import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap
5151import qualified Data.HashSet.InsOrd as InsOrdHS
src/Data/Swagger/Optics.hs → src/Data/OpenApi/Optics.hsrenamed+4−4
@@ -7,7 +7,7 @@
77{-# LANGUAGE UndecidableInstances #-}
88{-# OPTIONS_GHC -fno-warn-orphans #-}
99-- |
10−-- Module: Data.Swagger.Optics
10+-- Module: Data.OpenApi.Optics
1111-- Maintainer: Andrzej Rybczak <andrzej@rybczak.net>
1212-- Stability: experimental
1313--
@@ -19,7 +19,7 @@
1919-- >>> :set -XOverloadedLabels
2020-- >>> import qualified Data.ByteString.Lazy.Char8 as BSL
2121--
22−-- Example from the "Data.Swagger" module using @optics@:
22+-- Example from the "Data.OpenApi" module using @optics@:
2323--
2424-- >>> :{
2525-- BSL.putStrLn $ encode $ (mempty :: Swagger)
@@ -54,11 +54,11 @@
5454-- :}
5555-- {"responses":{"404":{"description":"Not found"}}}
5656--
57−module Data.Swagger.Optics () where
57+module Data.OpenApi.Optics () where
5858
5959import Data.Aeson (Value)
6060import Data.Scientific (Scientific)
61−import Data.Swagger.Internal
61+import Data.OpenApi.Internal
6262import Data.Text (Text)
6363import Optics.Core
6464import Optics.TH
src/Data/Swagger/ParamSchema.hs → src/Data/OpenApi/ParamSchema.hsrenamed+4−4
@@ -1,10 +1,10 @@
11-- |
2−-- Module: Data.Swagger.ParamSchema
2+-- Module: Data.OpenApi.ParamSchema
33-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
44-- Stability: experimental
55--
66-- Types and functions for working with Swagger parameter schema.
7−module Data.Swagger.ParamSchema (
7+module Data.OpenApi.ParamSchema (
88 -- * Encoding
99 ToParamSchema(..),
1010
@@ -22,5 +22,5 @@ module Data.Swagger.ParamSchema (
2222 defaultSchemaOptions,
2323) where
2424
25−import Data.Swagger.Internal.ParamSchema
26−import Data.Swagger.SchemaOptions
25+import Data.OpenApi.Internal.ParamSchema
26+import Data.OpenApi.SchemaOptions
src/Data/Swagger/Schema.hs → src/Data/OpenApi/Schema.hsrenamed+4−4
@@ -1,10 +1,10 @@
11-- |
2−-- Module: Data.Swagger.Schema
2+-- Module: Data.OpenApi.Schema
33-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
44-- Stability: experimental
55--
66-- Types and functions for working with Swagger schema.
7−module Data.Swagger.Schema (
7+module Data.OpenApi.Schema (
88 -- * Encoding
99 ToSchema(..),
1010 declareSchema,
@@ -48,5 +48,5 @@ module Data.Swagger.Schema (
4848 fromAesonOptions,
4949) where
5050
51−import Data.Swagger.Internal.Schema
52−import Data.Swagger.SchemaOptions
51+import Data.OpenApi.Internal.Schema
52+import Data.OpenApi.SchemaOptions
src/Data/Swagger/Schema/Generator.hs → src/Data/OpenApi/Schema/Generator.hsrenamed+4−4
@@ -2,7 +2,7 @@
22{-# LANGUAGE OverloadedLists #-}
33{-# LANGUAGE ScopedTypeVariables #-}
44
5−module Data.Swagger.Schema.Generator where
5+module Data.OpenApi.Schema.Generator where
66
77import Prelude ()
88import Prelude.Compat
@@ -16,9 +16,9 @@ import Data.Maybe
1616import Data.Proxy
1717import Data.Scientific
1818import qualified Data.Set as S
19−import Data.Swagger
20−import Data.Swagger.Declare
21−import Data.Swagger.Internal.Schema.Validation (inferSchemaTypes)
19+import Data.OpenApi
20+import Data.OpenApi.Declare
21+import Data.OpenApi.Internal.Schema.Validation (inferSchemaTypes)
2222import qualified Data.Text as T
2323import qualified Data.Vector as V
2424import Test.QuickCheck (arbitrary)
src/Data/Swagger/Schema/Validation.hs → src/Data/OpenApi/Schema/Validation.hsrenamed+4−4
@@ -1,10 +1,10 @@
11-- |
2−-- Module: Data.Swagger.Schema.Validation
2+-- Module: Data.OpenApi.Schema.Validation
33-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
44-- Stability: experimental
55--
66-- Validate JSON values with Swagger Schema.
7−module Data.Swagger.Schema.Validation (
7+module Data.OpenApi.Schema.Validation (
88 -- * How to use validation
99 -- $howto
1010
@@ -29,13 +29,13 @@ module Data.Swagger.Schema.Validation (
2929 validateJSONWithPatternChecker,
3030) where
3131
32−import Data.Swagger.Internal.Schema.Validation
32+import Data.OpenApi.Internal.Schema.Validation
3333
3434-- $setup
3535-- >>> import Control.Lens
3636-- >>> import Data.Aeson
3737-- >>> import Data.Proxy
38−-- >>> import Data.Swagger
38+-- >>> import Data.OpenApi
3939-- >>> import GHC.Generics
4040-- >>> :set -XDeriveGeneric
4141
src/Data/Swagger/SchemaOptions.hs → src/Data/OpenApi/SchemaOptions.hsrenamed+2−2
@@ -1,11 +1,11 @@
11{-# LANGUAGE RecordWildCards #-}
22-- |
3−-- Module: Data.Swagger.SchemaOptions
3+-- Module: Data.OpenApi.SchemaOptions
44-- Maintainer: Nickolay Kudasov <nickolay@getshoptv.com>
55-- Stability: experimental
66--
77-- Generic deriving options for @'ToParamSchema'@ and @'ToSchema'@.
8−module Data.Swagger.SchemaOptions where
8+module Data.OpenApi.SchemaOptions where
99
1010import qualified Data.Aeson.Types as Aeson
1111
stack.yaml+1−1
@@ -1,4 +1,4 @@
1−resolver: lts-15.1
1+resolver: lts-16.8
22packages:
33- '.'
44extra-deps:
test/Data/Swagger/CommonTestTypes.hs → test/Data/OpenApi/CommonTestTypes.hsrenamed+2−2
@@ -2,7 +2,7 @@
22{-# LANGUAGE QuasiQuotes #-}
33{-# LANGUAGE ScopedTypeVariables #-}
44
5−module Data.Swagger.CommonTestTypes where
5+module Data.OpenApi.CommonTestTypes where
66
77import Prelude ()
88import Prelude.Compat
@@ -18,7 +18,7 @@ import qualified Data.Text as Text
1818import Data.Word
1919import GHC.Generics
2020
21−import Data.Swagger
21+import Data.OpenApi
2222
2323-- ========================================================================
2424-- Unit type
test/Data/Swagger/ParamSchemaSpec.hs → test/Data/OpenApi/ParamSchemaSpec.hsrenamed+3−3
@@ -4,7 +4,7 @@
44{-# LANGUAGE TemplateHaskell #-}
55{-# LANGUAGE QuasiQuotes #-}
66{-# LANGUAGE OverloadedStrings #-}
7−module Data.Swagger.ParamSchemaSpec where
7+module Data.OpenApi.ParamSchemaSpec where
88
99import Data.Aeson
1010import Data.Aeson.QQ.Simple
@@ -12,9 +12,9 @@ import Data.Char
1212import Data.Proxy
1313import GHC.Generics
1414
15−import Data.Swagger
15+import Data.OpenApi
1616
17−import Data.Swagger.CommonTestTypes
17+import Data.OpenApi.CommonTestTypes
1818import SpecCommon
1919import Test.Hspec
2020import Data.Time.LocalTime
test/Data/Swagger/Schema/GeneratorSpec.hs → test/Data/OpenApi/Schema/GeneratorSpec.hsrenamed+3−3
@@ -1,13 +1,13 @@
11{-# LANGUAGE OverloadedLists #-}
22{-# LANGUAGE OverloadedStrings #-}
33{-# LANGUAGE PackageImports #-}
4−module Data.Swagger.Schema.GeneratorSpec where
4+module Data.OpenApi.Schema.GeneratorSpec where
55
66import Prelude ()
77import Prelude.Compat
88
9−import Data.Swagger
10−import Data.Swagger.Schema.Generator
9+import Data.OpenApi
10+import Data.OpenApi.Schema.Generator
1111
1212import Control.Lens.Operators
1313import Data.Aeson
test/Data/Swagger/Schema/ValidationSpec.hs → test/Data/OpenApi/Schema/ValidationSpec.hsrenamed+6−6
@@ -3,7 +3,7 @@
33{-# LANGUAGE RecordWildCards #-}
44{-# LANGUAGE ScopedTypeVariables #-}
55{-# OPTIONS_GHC -fno-warn-orphans #-}
6−module Data.Swagger.Schema.ValidationSpec where
6+module Data.OpenApi.Schema.ValidationSpec where
77
88import Control.Applicative
99import Control.Lens ((&), (.~), (?~))
@@ -28,8 +28,8 @@ import Data.Version (Version)
2828import Data.Word
2929import GHC.Generics
3030
31−import Data.Swagger
32−import Data.Swagger.Declare
31+import Data.OpenApi
32+import Data.OpenApi.Declare
3333
3434import Test.Hspec
3535import Test.Hspec.QuickCheck
@@ -190,7 +190,7 @@ instance Arbitrary MyRoseTree where
190190data Light = NoLight | LightFreq Double | LightColor Color deriving (Show, Generic)
191191
192192instance ToSchema Light where
193− declareNamedSchema = genericDeclareNamedSchema defaultSchemaOptions { Data.Swagger.sumEncoding = ObjectWithSingleField }
193+ declareNamedSchema = genericDeclareNamedSchema defaultSchemaOptions { Data.OpenApi.sumEncoding = ObjectWithSingleField }
194194
195195instance ToJSON Light where
196196 toJSON = genericToJSON defaultOptions { Data.Aeson.Types.sumEncoding = ObjectWithSingleField }
@@ -215,7 +215,7 @@ instance ToJSON LightTaggedObject where
215215
216216instance ToSchema LightTaggedObject where
217217 declareNamedSchema _ =
218− genericDeclareNamedSchema defaultSchemaOptions { Data.Swagger.sumEncoding = defaultTaggedObject } (Proxy :: Proxy Light)
218+ genericDeclareNamedSchema defaultSchemaOptions { Data.OpenApi.sumEncoding = defaultTaggedObject } (Proxy :: Proxy Light)
219219
220220instance Arbitrary LightTaggedObject where
221221 arbitrary = LightTaggedObject <$> arbitrary
@@ -228,7 +228,7 @@ instance ToJSON LightUntaggedValue where
228228
229229instance ToSchema LightUntaggedValue where
230230 declareNamedSchema _ =
231− genericDeclareNamedSchema defaultSchemaOptions { Data.Swagger.sumEncoding = UntaggedValue } (Proxy :: Proxy Light)
231+ genericDeclareNamedSchema defaultSchemaOptions { Data.OpenApi.sumEncoding = UntaggedValue } (Proxy :: Proxy Light)
232232
233233instance Arbitrary LightUntaggedValue where
234234 arbitrary = LightUntaggedValue <$> arbitrary
test/Data/Swagger/SchemaSpec.hs → test/Data/OpenApi/SchemaSpec.hsrenamed+4−4
@@ -2,7 +2,7 @@
22{-# LANGUAGE ScopedTypeVariables #-}
33{-# LANGUAGE TemplateHaskell #-}
44{-# LANGUAGE QuasiQuotes #-}
5−module Data.Swagger.SchemaSpec where
5+module Data.OpenApi.SchemaSpec where
66
77import Prelude ()
88import Prelude.Compat
@@ -14,10 +14,10 @@ import Data.Proxy
1414import Data.Set (Set)
1515import qualified Data.Text as Text
1616
17−import Data.Swagger
18−import Data.Swagger.Declare
17+import Data.OpenApi
18+import Data.OpenApi.Declare
1919
20−import Data.Swagger.CommonTestTypes
20+import Data.OpenApi.CommonTestTypes
2121import SpecCommon
2222import Test.Hspec
2323
test/Data/SwaggerSpec.hs → test/Data/OpenApiSpec.hsrenamed+3−3
@@ -2,7 +2,7 @@
22{-# LANGUAGE OverloadedStrings #-}
33{-# LANGUAGE ScopedTypeVariables #-}
44{-# LANGUAGE QuasiQuotes #-}
5−module Data.SwaggerSpec where
5+module Data.OpenApiSpec where
66
77import Prelude ()
88import Prelude.Compat
@@ -15,7 +15,7 @@ import Data.HashMap.Strict (HashMap)
1515import qualified Data.HashSet.InsOrd as InsOrdHS
1616import Data.Text (Text)
1717
18−import Data.Swagger
18+import Data.OpenApi
1919import SpecCommon
2020import Test.Hspec hiding (example)
2121
@@ -918,7 +918,7 @@ petstoreExampleJSON = [aesonQQ|
918918compositionSchemaExample :: Schema
919919compositionSchemaExample = mempty
920920 & type_ ?~ SwaggerObject
921− & Data.Swagger.allOf ?~ [
921+ & Data.OpenApi.allOf ?~ [
922922 Ref (Reference "Other")
923923 , Inline (mempty
924924 & type_ ?~ SwaggerObject