git.iko.soy/typeable/hjsonschema
on master help sign in
1.4.0.0.
1e7b2c1Ian Grant Jeffries
changelog.md+5
@@ -1,3 +1,8 @@
1+# 1.4.0.0
2+
3++ Rename `Data.JsonSchema.*` modules to `JSONSchema.*`.
4++ Rename `Data.Validator.*` modules to `JSONSchema.Validator.*`.
5+
1# 1.3.0.1
6# 1.3.0.1
2
7
3+ Bump `vector`.
8+ Bump `vector`.
examples/AlternateSchema.hs+20−20
@@ -1,8 +1,8 @@
1-- | An implementation of JSON Schema Draft 4 based on 'HashMap Text Value'
1-- | An implementation of JSON Schema Draft 4 based on 'HashMap Text Value'
2−-- instead of a custom record type like 'Data.JsonSchema.Draft4'.
2+-- instead of a custom record type like 'JSONSchema.Draft4'.
3--
3--
4-- If you're writing code for a new schema specification you probably want
4-- If you're writing code for a new schema specification you probably want
5−-- to copy this module instead of the 'Data.JsonSchema.Draft4'. While it's
5+-- to copy this module instead of the 'JSONSchema.Draft4'. While it's
6-- less convenient to write schemas in Haskell without a record type, you
6-- less convenient to write schemas in Haskell without a record type, you
7-- can get the implementation finished with far fewer lines of code.
7-- can get the implementation finished with far fewer lines of code.
8
8
@@ -10,23 +10,23 @@ module AlternateSchema where
10
10
11import Protolude
11import Protolude
12
12
13−import Data.Aeson (FromJSON(..), Value(..),
13+import Data.Aeson (FromJSON(..), Value(..),
14− decode)
14+ decode)
15−import qualified Data.Aeson as AE
15+import qualified Data.Aeson as AE
16−import qualified Data.ByteString.Lazy as LBS
16+import qualified Data.ByteString.Lazy as LBS
17−import qualified Data.HashMap.Strict as HM
17+import qualified Data.HashMap.Strict as HM
18−import Data.Maybe (fromMaybe)
18+import Data.Maybe (fromMaybe)
19−import Data.Profunctor (Profunctor (..))
19+import Data.Profunctor (Profunctor (..))
20−
20+
21−import Data.JsonSchema.Draft4 (ValidatorFailure(..),
21+import JSONSchema.Draft4 (ValidatorFailure(..),
22− metaSchemaBytes)
22+ metaSchemaBytes)
23−import Data.JsonSchema.Fetch (ReferencedSchemas(..),
23+import JSONSchema.Fetch (ReferencedSchemas(..),
24− SchemaWithURI(..))
24+ SchemaWithURI(..))
25−import qualified Data.JsonSchema.Fetch as FE
25+import qualified JSONSchema.Fetch as FE
26−import Data.JsonSchema.Types (Schema(..), Spec(..))
26+import JSONSchema.Types (Schema(..), Spec(..))
27−import qualified Data.JsonSchema.Types as JT
27+import qualified JSONSchema.Types as JT
28−import qualified Data.Validator.Draft4 as D4
28+import qualified JSONSchema.Validator.Draft4 as D4
29−import Data.Validator.Reference (updateResolutionScope)
29+import JSONSchema.Validator.Reference (updateResolutionScope)
30
30
31--------------------------------------------------
31--------------------------------------------------
32-- * Basic fetching tools
32-- * Basic fetching tools
@@ -107,7 +107,7 @@ d4Spec
107 -> Maybe Text
107 -> Maybe Text
108 -> Spec Schema ValidatorFailure
108 -> Spec Schema ValidatorFailure
109 -- ^ Here we reuses 'ValidatorFailure' from
109 -- ^ Here we reuses 'ValidatorFailure' from
110− -- 'Data.JsonSchema.Draft4.Failure'. If your validators have different
110+ -- 'JSONSchema.Draft4.Failure'. If your validators have different
111 -- failure possibilities you'll need to create your own validator
111 -- failure possibilities you'll need to create your own validator
112 -- failure type.
112 -- failure type.
113d4Spec referenced visited scope =
113d4Spec referenced visited scope =
examples/Simple.hs+5−5
@@ -3,12 +3,12 @@ module Simple where
3
3
4import Protolude
4import Protolude
5
5
6−import Data.Aeson (Value(..), decode, toJSON)
6+import Data.Aeson (Value(..), decode, toJSON)
7−import qualified Data.ByteString.Lazy as LBS
7+import qualified Data.ByteString.Lazy as LBS
8−import qualified Data.List.NonEmpty as NE
8+import qualified Data.List.NonEmpty as NE
9−import Data.Maybe (fromMaybe)
9+import Data.Maybe (fromMaybe)
10
10
11−import qualified Data.JsonSchema.Draft4 as D4
11+import qualified JSONSchema.Draft4 as D4
12
12
13badData :: Value
13badData :: Value
14badData = toJSON [True, True]
14badData = toJSON [True, True]
examples/TwoStep.hs+4−4
@@ -15,11 +15,11 @@ module TwoStep where
15
15
16import Protolude
16import Protolude
17
17
18−import Data.Aeson (Value (..), toJSON)
18+import Data.Aeson (Value (..), toJSON)
19−import qualified Data.List.NonEmpty as NE
19+import qualified Data.List.NonEmpty as NE
20
20
21−import qualified Data.JsonSchema.Draft4 as D4
21+import qualified JSONSchema.Draft4 as D4
22−import qualified Data.Validator.Draft4 as VAL
22+import qualified JSONSchema.Validator.Draft4 as VAL
23
23
24schema :: D4.Schema
24schema :: D4.Schema
25schema = D4.emptySchema { D4._schemaRef = Just "./unique.json" }
25schema = D4.emptySchema { D4._schemaRef = Just "./unique.json" }
hjsonschema.cabal+17−17
@@ -1,5 +1,5 @@
1name: hjsonschema
1name: hjsonschema
2−version: 1.3.0.1
2+version: 1.4.0.0
3synopsis: JSON Schema library
3synopsis: JSON Schema library
4homepage: https://github.com/seagreen/hjsonschema
4homepage: https://github.com/seagreen/hjsonschema
5license: MIT
5license: MIT
@@ -38,23 +38,23 @@ library
38 ghc-options:
38 ghc-options:
39 -Wall
39 -Wall
40 exposed-modules:
40 exposed-modules:
41− Data.JsonSchema.Draft4
41+ JSONSchema.Draft4
42− , Data.JsonSchema.Draft4.Failure
42+ , JSONSchema.Draft4.Failure
43− , Data.JsonSchema.Draft4.Schema
43+ , JSONSchema.Draft4.Schema
44− , Data.JsonSchema.Draft4.Spec
44+ , JSONSchema.Draft4.Spec
45− , Data.JsonSchema.Fetch
45+ , JSONSchema.Fetch
46− , Data.JsonSchema.Types
46+ , JSONSchema.Types
47− , Data.Validator.Draft4
47+ , JSONSchema.Validator.Draft4
48− , Data.Validator.Draft4.Any
48+ , JSONSchema.Validator.Draft4.Any
49− , Data.Validator.Draft4.Array
49+ , JSONSchema.Validator.Draft4.Array
50− , Data.Validator.Draft4.Number
50+ , JSONSchema.Validator.Draft4.Number
51− , Data.Validator.Draft4.Object
51+ , JSONSchema.Validator.Draft4.Object
52− , Data.Validator.Draft4.String
52+ , JSONSchema.Validator.Draft4.String
53− , Data.Validator.Reference
53+ , JSONSchema.Validator.Reference
54− , Data.Validator.Types
54+ , JSONSchema.Validator.Types
55− , Data.Validator.Utils
55+ , JSONSchema.Validator.Utils
56 other-modules:
56 other-modules:
57− Data.Validator.Draft4.Object.Properties
57+ JSONSchema.Validator.Draft4.Object.Properties
58 , Import
58 , Import
59 build-depends:
59 build-depends:
60 base >= 4.7 && < 4.10
60 base >= 4.7 && < 4.10
src/Data/JsonSchema/Draft4.hs → src/JSONSchema/Draft4.hsrenamed+19−19
@@ -1,6 +1,6 @@
1{-# LANGUAGE TemplateHaskell #-}
1{-# LANGUAGE TemplateHaskell #-}
2
2
3−module Data.JsonSchema.Draft4
3+module JSONSchema.Draft4
4 ( -- * Draft 4 Schema
4 ( -- * Draft 4 Schema
5 SchemaWithURI(..)
5 SchemaWithURI(..)
6 , Schema(..)
6 , Schema(..)
@@ -38,23 +38,23 @@ module Data.JsonSchema.Draft4
38
38
39import Import
39import Import
40
40
41−import Control.Arrow (left)
41+import Control.Arrow (left)
42−import qualified Data.ByteString as BS
42+import qualified Data.ByteString as BS
43−import Data.FileEmbed (embedFile,
43+import Data.FileEmbed (embedFile,
44− makeRelativeToProject)
44+ makeRelativeToProject)
45−import qualified Data.HashMap.Strict as HM
45+import qualified Data.HashMap.Strict as HM
46−import qualified Data.List.NonEmpty as NE
46+import qualified Data.List.NonEmpty as NE
47−import Data.Maybe (fromMaybe)
47+import Data.Maybe (fromMaybe)
48−
48+
49−import Data.JsonSchema.Draft4.Failure (Invalid(..),
49+import JSONSchema.Draft4.Failure (Invalid(..),
50− SchemaInvalid(..),
50+ SchemaInvalid(..),
51− ValidatorFailure(..))
51+ ValidatorFailure(..))
52−import Data.JsonSchema.Draft4.Schema (Schema)
52+import JSONSchema.Draft4.Schema (Schema)
53−import qualified Data.JsonSchema.Draft4.Schema as SC
53+import qualified JSONSchema.Draft4.Schema as SC
54−import qualified Data.JsonSchema.Draft4.Spec as Spec
54+import qualified JSONSchema.Draft4.Spec as Spec
55−import Data.JsonSchema.Fetch (ReferencedSchemas(..),
55+import JSONSchema.Fetch (ReferencedSchemas(..),
56− SchemaWithURI(..))
56+ SchemaWithURI(..))
57−import qualified Data.JsonSchema.Fetch as FE
57+import qualified JSONSchema.Fetch as FE
58
58
59data HTTPValidationFailure
59data HTTPValidationFailure
60 = HVRequest FE.HTTPFailure
60 = HVRequest FE.HTTPFailure
@@ -115,7 +115,7 @@ fetchFilesystemAndValidate sw v = do
115 , _invalidFailures = invalid
115 , _invalidFailures = invalid
116 })
116 })
117
117
118−-- | An instance of 'Data.JsonSchema.Fetch.FetchInfo' specialized for
118+-- | An instance of 'JSONSchema.Fetch.FetchInfo' specialized for
119-- JSON Schema Draft 4.
119-- JSON Schema Draft 4.
120draft4FetchInfo :: FE.FetchInfo Schema
120draft4FetchInfo :: FE.FetchInfo Schema
121draft4FetchInfo = FE.FetchInfo Spec.embedded SC._schemaId SC._schemaRef
121draft4FetchInfo = FE.FetchInfo Spec.embedded SC._schemaId SC._schemaRef
src/Data/JsonSchema/Draft4/Failure.hs → src/JSONSchema/Draft4/Failure.hsrenamed+3−3
@@ -1,10 +1,10 @@
1
1
2−module Data.JsonSchema.Draft4.Failure where
2+module JSONSchema.Draft4.Failure where
3
3
4import Import
4import Import
5
5
6−import Data.JsonSchema.Draft4.Schema (Schema)
6+import JSONSchema.Draft4.Schema (Schema)
7−import qualified Data.Validator.Draft4 as D4
7+import qualified JSONSchema.Validator.Draft4 as D4
8
8
9-- | Used to report an entire instance being invalidated, as opposed
9-- | Used to report an entire instance being invalidated, as opposed
10-- to the failure of a single validator.
10-- to the failure of a single validator.
src/Data/JsonSchema/Draft4/Schema.hs → src/JSONSchema/Draft4/Schema.hsrenamed+9−9
@@ -1,17 +1,17 @@
1
1
2−module Data.JsonSchema.Draft4.Schema where
2+module JSONSchema.Draft4.Schema where
3
3
4−import Import hiding (mapMaybe)
4+import Import hiding (mapMaybe)
5
5
6−import qualified Data.HashMap.Strict as HM
6+import qualified Data.HashMap.Strict as HM
7−import Data.List.NonEmpty (NonEmpty)
7+import Data.List.NonEmpty (NonEmpty)
8−import Data.Maybe (fromJust, isJust)
8+import Data.Maybe (fromJust, isJust)
9import Data.Scientific
9import Data.Scientific
10−import qualified Data.Set as Set
10+import qualified Data.Set as Set
11−import qualified Data.Text as T
11+import qualified Data.Text as T
12
12
13−import qualified Data.Validator.Draft4 as D4
13+import qualified JSONSchema.Validator.Draft4 as D4
14−import Data.Validator.Utils
14+import JSONSchema.Validator.Utils
15
15
16data Schema = Schema
16data Schema = Schema
17 { _schemaVersion :: Maybe Text
17 { _schemaVersion :: Maybe Text
src/Data/JsonSchema/Draft4/Spec.hs → src/JSONSchema/Draft4/Spec.hsrenamed+9−9
@@ -1,20 +1,20 @@
1
1
2−module Data.JsonSchema.Draft4.Spec where
2+module JSONSchema.Draft4.Spec where
3
3
4import Import
4import Import
5
5
6import Data.Maybe (fromMaybe)
6import Data.Maybe (fromMaybe)
7import Data.Profunctor (Profunctor(..))
7import Data.Profunctor (Profunctor(..))
8
8
9−import Data.JsonSchema.Draft4.Failure
9+import JSONSchema.Draft4.Failure
10−import Data.JsonSchema.Draft4.Schema (Schema(..))
10+import JSONSchema.Draft4.Schema (Schema(..))
11−import Data.JsonSchema.Fetch (ReferencedSchemas(..),
11+import JSONSchema.Fetch (ReferencedSchemas(..),
12 SchemaWithURI(..))
12 SchemaWithURI(..))
13−import qualified Data.JsonSchema.Fetch as FE
13+import qualified JSONSchema.Fetch as FE
14−import Data.JsonSchema.Types (Spec(..))
14+import JSONSchema.Types (Spec(..))
15−import qualified Data.JsonSchema.Types as JT
15+import qualified JSONSchema.Types as JT
16−import Data.Validator.Draft4
16+import JSONSchema.Validator.Draft4
17−import Data.Validator.Reference (updateResolutionScope)
17+import JSONSchema.Validator.Reference (updateResolutionScope)
18
18
19embedded :: Schema -> ([Schema], [Schema])
19embedded :: Schema -> ([Schema], [Schema])
20embedded s = JT.embedded (d4Spec (ReferencedSchemas s mempty) mempty Nothing) s
20embedded s = JT.embedded (d4Spec (ReferencedSchemas s mempty) mempty Nothing) s
src/Data/JsonSchema/Fetch.hs → src/JSONSchema/Fetch.hsrenamed+12−12
@@ -1,19 +1,19 @@
1
1
2−module Data.JsonSchema.Fetch where
2+module JSONSchema.Fetch where
3
3
4import Import
4import Import
5
5
6−import Control.Arrow (left)
6+import Control.Arrow (left)
7−import Control.Exception (IOException, catch)
7+import Control.Exception (IOException, catch)
8−import Control.Monad (foldM)
8+import Control.Monad (foldM)
9−import qualified Data.ByteString as BS
9+import qualified Data.ByteString as BS
10−import qualified Data.ByteString.Lazy as LBS
10+import qualified Data.ByteString.Lazy as LBS
11−import qualified Data.HashMap.Strict as HM
11+import qualified Data.HashMap.Strict as HM
12−import qualified Data.Text as T
12+import qualified Data.Text as T
13−import qualified Network.HTTP.Client as NC
13+import qualified Network.HTTP.Client as NC
14−
14+
15−import Data.Validator.Reference (resolveReference,
15+import JSONSchema.Validator.Reference (resolveReference,
16− updateResolutionScope)
16+ updateResolutionScope)
17
17
18--------------------------------------------------
18--------------------------------------------------
19-- * Types
19-- * Types
src/Data/JsonSchema/Types.hs → src/JSONSchema/Types.hsrenamed+5−5
@@ -1,9 +1,9 @@
1
1
2−module Data.JsonSchema.Types where
2+module JSONSchema.Types where
3
3
4import Import
4import Import
5
5
6−import Data.Validator.Types (Validator(..))
6+import JSONSchema.Validator.Types (Validator(..))
7
7
8newtype Spec schema err
8newtype Spec schema err
9 = Spec { _unSpec :: [Validator schema schema err] }
9 = Spec { _unSpec :: [Validator schema schema err] }
@@ -12,7 +12,7 @@ newtype Spec schema err
12--
12--
13-- The first list is subschemas validating the same level of the document,
13-- The first list is subschemas validating the same level of the document,
14-- the second list is subschemas validating lower levels (see
14-- the second list is subschemas validating lower levels (see
15−-- 'Data.Validator.Types.Fail' for a full explanation).
15+-- 'JSONSchema.Validator.Types.Fail' for a full explanation).
16embedded :: Spec schema a -> schema -> ([schema], [schema])
16embedded :: Spec schema a -> schema -> ([schema], [schema])
17embedded spec schema =
17embedded spec schema =
18 let embeds = (\val -> _embedded val schema) <$> _unSpec spec
18 let embeds = (\val -> _embedded val schema) <$> _unSpec spec
@@ -28,8 +28,8 @@ validate spec schema v =
28
28
29-- | A basic schema type that doesn't impose much structure.
29-- | A basic schema type that doesn't impose much structure.
30--
30--
31−-- 'Data.JsonSchema.Draft4' doesn't use this, but instead uses the one
31+-- 'JSONSchema.Draft4' doesn't use this, but instead uses the record based
32−-- defined in 'Data.JsonSchema.Draft4.Schema' to make it easier to write
32+-- one defined in 'JSONSchema.Draft4.Schema' to make it easier to write
33-- draft 4 schemas in Haskell.
33-- draft 4 schemas in Haskell.
34newtype Schema
34newtype Schema
35 = Schema { _unSchema :: HashMap Text Value }
35 = Schema { _unSchema :: HashMap Text Value }
src/Data/Validator/Draft4.hs → src/JSONSchema/Validator/Draft4.hsrenamed+14−14
@@ -1,24 +1,24 @@
1-- | Turn the validation functions into actual 'Validator's.
1-- | Turn the validation functions into actual 'Validator's.
2
2
3−module Data.Validator.Draft4
3+module JSONSchema.Validator.Draft4
4− ( module Data.Validator.Draft4
4+ ( module JSONSchema.Validator.Draft4
5 , module Export
5 , module Export
6 ) where
6 ) where
7
7
8import Import
8import Import
9
9
10−import qualified Data.HashMap.Strict as HM
10+import qualified Data.HashMap.Strict as HM
11−import qualified Data.List.NonEmpty as NE
11+import qualified Data.List.NonEmpty as NE
12−import Data.Maybe (catMaybes, maybe, maybeToList)
12+import Data.Maybe (catMaybes, maybe, maybeToList)
13−import Data.Text (Text)
13+import Data.Text (Text)
14−
14+
15−import Data.Validator.Draft4.Any as Export
15+import JSONSchema.Validator.Draft4.Any as Export
16−import Data.Validator.Draft4.Array as Export
16+import JSONSchema.Validator.Draft4.Array as Export
17−import Data.Validator.Draft4.Number as Export
17+import JSONSchema.Validator.Draft4.Number as Export
18−import Data.Validator.Draft4.Object as Export
18+import JSONSchema.Validator.Draft4.Object as Export
19−import Data.Validator.Draft4.String as Export
19+import JSONSchema.Validator.Draft4.String as Export
20−import Data.Validator.Types (Validator(..))
20+import JSONSchema.Validator.Types (Validator(..))
21−import Data.Validator.Utils (fromJSONEither)
21+import JSONSchema.Validator.Utils (fromJSONEither)
22
22
23-- | For internal use.
23-- | For internal use.
24--
24--
src/Data/Validator/Draft4/Any.hs → src/JSONSchema/Validator/Draft4/Any.hsrenamed+13−12
@@ -1,19 +1,20 @@
1
1
2−module Data.Validator.Draft4.Any where
2+module JSONSchema.Validator.Draft4.Any where
3
3
4import Import
4import Import
5
5
6−import Data.List.NonEmpty (NonEmpty((:|)))
6+import Data.List.NonEmpty (NonEmpty((:|)))
7−import qualified Data.List.NonEmpty as NE
7+import qualified Data.List.NonEmpty as NE
8−import qualified Data.Scientific as SCI
8+import qualified Data.Scientific as SCI
9−import Data.Semigroup (Semigroup) -- for older GHCs
9+import Data.Semigroup (Semigroup) -- for older GHCs
10−import Data.Set (Set)
10+import Data.Set (Set)
11−import qualified Data.Set as S
11+import qualified Data.Set as S
12−import qualified JSONPointer as JP
12+import qualified JSONPointer as JP
13
13
14−import qualified Data.Validator.Utils as UT
14+import qualified JSONSchema.Validator.Utils as UT
15−import Data.Validator.Reference (URIBaseAndFragment,
15+import JSONSchema.Validator.Reference (URIBaseAndFragment,
16+ resolveFragment,
16− resolveFragment, resolveReference)
17+ resolveReference)
17
18
18--------------------------------------------------
19--------------------------------------------------
19-- * $ref
20-- * $ref
@@ -125,7 +126,7 @@ enumVal a@(EnumValidator vs) x
125--------------------------------------------------
126--------------------------------------------------
126
127
127-- | This is separate from 'TypeValidator' so that 'TypeValidator' can
128-- | This is separate from 'TypeValidator' so that 'TypeValidator' can
128−-- be used to write 'Data.JsonSchema.Draft4.Schema.Schema' without
129+-- be used to write 'JSONSchema.Draft4.Schema.Schema' without
129-- messing up the 'FromJSON' instance of that data type.
130-- messing up the 'FromJSON' instance of that data type.
130newtype TypeContext
131newtype TypeContext
131 = TypeContext { _unTypeContext :: TypeValidator }
132 = TypeContext { _unTypeContext :: TypeValidator }
src/Data/Validator/Draft4/Array.hs → src/JSONSchema/Validator/Draft4/Array.hsrenamed+5−5
@@ -1,13 +1,13 @@
1
1
2−module Data.Validator.Draft4.Array where
2+module JSONSchema.Validator.Draft4.Array where
3
3
4import Import
4import Import
5
5
6−import qualified Data.List.NonEmpty as NE
6+import qualified Data.List.NonEmpty as NE
7−import qualified Data.Vector as V
7+import qualified Data.Vector as V
8−import qualified JSONPointer as JP
8+import qualified JSONPointer as JP
9
9
10−import Data.Validator.Utils (allUniqueValues)
10+import JSONSchema.Validator.Utils (allUniqueValues)
11
11
12--------------------------------------------------
12--------------------------------------------------
13-- * maxItems
13-- * maxItems
src/Data/Validator/Draft4/Number.hs → src/JSONSchema/Validator/Draft4/Number.hsrenamed+1−1
@@ -1,5 +1,5 @@
1
1
2−module Data.Validator.Draft4.Number where
2+module JSONSchema.Validator.Draft4.Number where
3
3
4import Import
4import Import
5
5
src/Data/Validator/Draft4/Object.hs → src/JSONSchema/Validator/Draft4/Object.hsrenamed+10−10
@@ -1,19 +1,19 @@
1
1
2−module Data.Validator.Draft4.Object
2+module JSONSchema.Validator.Draft4.Object
3− ( module Data.Validator.Draft4.Object
3+ ( module JSONSchema.Validator.Draft4.Object
4− , module Data.Validator.Draft4.Object.Properties
4+ , module JSONSchema.Validator.Draft4.Object.Properties
5 ) where
5 ) where
6
6
7import Import
7import Import
8
8
9−import qualified Data.HashMap.Strict as HM
9+import qualified Data.HashMap.Strict as HM
10−import qualified Data.List.NonEmpty as NE
10+import qualified Data.List.NonEmpty as NE
11−import Data.Set (Set)
11+import Data.Set (Set)
12−import qualified Data.Set as S
12+import qualified Data.Set as S
13−import qualified Data.Text as T
13+import qualified Data.Text as T
14
14
15−import Data.Validator.Draft4.Object.Properties
15+import JSONSchema.Validator.Draft4.Object.Properties
16−import Data.Validator.Utils
16+import JSONSchema.Validator.Utils
17
17
18--------------------------------------------------
18--------------------------------------------------
19-- * maxProperties
19-- * maxProperties
src/Data/Validator/Draft4/Object/Properties.hs → src/JSONSchema/Validator/Draft4/Object/Properties.hsrenamed+1−1
@@ -1,5 +1,5 @@
1
1
2−module Data.Validator.Draft4.Object.Properties where
2+module JSONSchema.Validator.Draft4.Object.Properties where
3
3
4import Import
4import Import
5
5
src/Data/Validator/Draft4/String.hs → src/JSONSchema/Validator/Draft4/String.hsrenamed+1−1
@@ -1,5 +1,5 @@
1
1
2−module Data.Validator.Draft4.String where
2+module JSONSchema.Validator.Draft4.String where
3
3
4import Import
4import Import
5
5
src/Data/Validator/Reference.hs → src/JSONSchema/Validator/Reference.hsrenamed+1−1
@@ -4,7 +4,7 @@
4-- And is extended for JSON Schema here:
4-- And is extended for JSON Schema here:
5-- <http://json-schema.org/latest/json-schema-core.html#anchor26>
5-- <http://json-schema.org/latest/json-schema-core.html#anchor26>
6
6
7−module Data.Validator.Reference where
7+module JSONSchema.Validator.Reference where
8
8
9import Import
9import Import
10
10
src/Data/Validator/Types.hs → src/JSONSchema/Validator/Types.hsrenamed+1−1
@@ -1,5 +1,5 @@
1
1
2−module Data.Validator.Types where
2+module JSONSchema.Validator.Types where
3
3
4import Import
4import Import
5
5
src/Data/Validator/Utils.hs → src/JSONSchema/Validator/Utils.hsrenamed+9−9
@@ -1,16 +1,16 @@
1
1
2−module Data.Validator.Utils where
2+module JSONSchema.Validator.Utils where
3
3
4import Import
4import Import
5
5
6−import Control.Monad (fail)
6+import Control.Monad (fail)
7−import qualified Data.HashMap.Strict as HM
7+import qualified Data.HashMap.Strict as HM
8−import qualified Data.List.NonEmpty as NE
8+import qualified Data.List.NonEmpty as NE
9−import Data.Scientific (Scientific, fromFloatDigits)
9+import Data.Scientific (Scientific, fromFloatDigits)
10−import Data.Set (Set)
10+import Data.Set (Set)
11−import qualified Data.Set as S
11+import qualified Data.Set as S
12−import qualified Data.Text as T
12+import qualified Data.Text as T
13−import qualified Data.Vector as V
13+import qualified Data.Vector as V
14
14
15--------------------------------------------------
15--------------------------------------------------
16-- * QuickCheck
16-- * QuickCheck
test/Local.hs+8−8
@@ -4,15 +4,15 @@ module Main where
4import Protolude
4import Protolude
5
5
6import Data.Aeson
6import Data.Aeson
7−import qualified Data.List.NonEmpty as NE
7+import qualified Data.List.NonEmpty as NE
8−import qualified System.Timeout as TO
8+import qualified System.Timeout as TO
9import Test.Hspec
9import Test.Hspec
10−import Test.QuickCheck (property)
10+import Test.QuickCheck (property)
11
11
12−import qualified Data.JsonSchema.Draft4 as D4
12+import qualified JSONSchema.Draft4 as D4
13−import Data.JsonSchema.Fetch (ReferencedSchemas(..),
13+import JSONSchema.Fetch (ReferencedSchemas(..),
14− URISchemaMap(..))
14+ URISchemaMap(..))
15−import qualified Data.JsonSchema.Types as JT
15+import qualified JSONSchema.Types as JT
16import qualified Local.Failure
16import qualified Local.Failure
17import qualified Local.Validation
17import qualified Local.Validation
18import qualified Local.Reference
18import qualified Local.Reference
@@ -46,7 +46,7 @@ main = do
46 describe "Examples" exampleTests
46 describe "Examples" exampleTests
47 describe "QuickCheck" quickCheckTests
47 describe "QuickCheck" quickCheckTests
48 describe "Failure" Local.Failure.spec
48 describe "Failure" Local.Failure.spec
49− describe "Data.Validator.Reference" Local.Reference.spec
49+ describe "JSONSchema.Validator.Reference" Local.Reference.spec
50 describe "Supplementary validation tests written in Haskell"
50 describe "Supplementary validation tests written in Haskell"
51 Local.Validation.spec
51 Local.Validation.spec
52
52
test/Local/Failure.hs+11−11
@@ -8,9 +8,9 @@ import Test.Hspec
8import qualified Data.Vector as V
8import qualified Data.Vector as V
9import qualified JSONPointer as JP
9import qualified JSONPointer as JP
10
10
11−import Data.JsonSchema.Draft4
11+import JSONSchema.Draft4
12−import qualified Data.JsonSchema.Draft4.Spec as Spec
12+import qualified JSONSchema.Draft4.Spec as Spec
13−import qualified Data.Validator.Draft4 as D4
13+import qualified JSONSchema.Validator.Draft4 as VAL
14
14
15spec :: Spec
15spec :: Spec
16spec = do
16spec = do
@@ -21,9 +21,9 @@ spec = do
21itemsArray :: Expectation
21itemsArray :: Expectation
22itemsArray =
22itemsArray =
23 failures `shouldBe`
23 failures `shouldBe`
24− [ FailureItems (D4.ItemsArrayInvalid (
24+ [ FailureItems (VAL.ItemsArrayInvalid (
25 pure ( JP.Index 0
25 pure ( JP.Index 0
26− , pure (FailureUniqueItems (D4.UniqueItemsInvalid
26+ , pure (FailureUniqueItems (VAL.UniqueItemsInvalid
27 (V.fromList [Null, Null])
27 (V.fromList [Null, Null])
28 ))
28 ))
29 )
29 )
@@ -35,7 +35,7 @@ itemsArray =
35
35
36 schema :: Schema
36 schema :: Schema
37 schema = emptySchema
37 schema = emptySchema
38− { _schemaItems = Just $ D4.ItemsArray
38+ { _schemaItems = Just $ VAL.ItemsArray
39 [emptySchema { _schemaUniqueItems = Just True }]
39 [emptySchema { _schemaUniqueItems = Just True }]
40 }
40 }
41
41
@@ -51,9 +51,9 @@ itemsArray =
51itemsObject :: Expectation
51itemsObject :: Expectation
52itemsObject =
52itemsObject =
53 failures `shouldBe`
53 failures `shouldBe`
54− [ FailureItems (D4.ItemsObjectInvalid (
54+ [ FailureItems (VAL.ItemsObjectInvalid (
55 pure ( JP.Index 1
55 pure ( JP.Index 1
56− , pure (FailureUniqueItems (D4.UniqueItemsInvalid
56+ , pure (FailureUniqueItems (VAL.UniqueItemsInvalid
57 (V.fromList [Null, Null])
57 (V.fromList [Null, Null])
58 ))
58 ))
59 )
59 )
@@ -65,7 +65,7 @@ itemsObject =
65
65
66 schema :: Schema
66 schema :: Schema
67 schema = emptySchema
67 schema = emptySchema
68− { _schemaItems = Just $ D4.ItemsObject
68+ { _schemaItems = Just $ VAL.ItemsObject
69 (emptySchema { _schemaUniqueItems = Just True })
69 (emptySchema { _schemaUniqueItems = Just True })
70 }
70 }
71
71
@@ -81,9 +81,9 @@ itemsObject =
81loopRef :: Expectation
81loopRef :: Expectation
82loopRef =
82loopRef =
83 failures `shouldBe`
83 failures `shouldBe`
84− [ FailureRef (D4.RefLoop
84+ [ FailureRef (VAL.RefLoop
85 "#"
85 "#"
86− (D4.VisitedSchemas [(Nothing, Nothing)])
86+ (VAL.VisitedSchemas [(Nothing, Nothing)])
87 (Nothing, Nothing)
87 (Nothing, Nothing)
88 )
88 )
89 ]
89 ]
test/Local/Reference.hs+1−1
@@ -5,7 +5,7 @@ import Protolude
5
5
6import Test.Hspec
6import Test.Hspec
7
7
8−import Data.Validator.Reference
8+import JSONSchema.Validator.Reference
9
9
10spec :: Spec
10spec :: Spec
11spec = do
11spec = do
test/Local/Validation.hs+7−8
@@ -1,18 +1,17 @@
1
1
2module Local.Validation where
2module Local.Validation where
3
3
4−import Protolude hiding (msg)
4+import Protolude hiding (msg)
5
5
6import Data.Aeson
6import Data.Aeson
7−import qualified Data.Aeson as AE
7+import qualified Data.Aeson as AE
8−import qualified Data.HashMap.Strict as HM
8+import qualified Data.HashMap.Strict as HM
9−import Data.String (String)
9+import Data.String (String)
10import Test.Hspec
10import Test.Hspec
11
11
12−import Data.JsonSchema.Draft4
12+import JSONSchema.Draft4
13−import qualified Data.JsonSchema.Types as JT
13+import qualified JSONSchema.Types as JT
14−
15−import qualified AlternateSchema as AS
14+import qualified AlternateSchema as AS
16
15
17spec :: Spec
16spec :: Spec
18spec = do
17spec = do
test/Remote.hs+4−4
@@ -10,10 +10,10 @@ import Network.Wai.Application.Static (defaultFileServerSettings,
10import Network.Wai.Handler.Warp (run)
10import Network.Wai.Handler.Warp (run)
11import Test.Hspec
11import Test.Hspec
12
12
13−import qualified Data.JsonSchema.Draft4 as D4
13+import qualified JSONSchema.Draft4 as D4
14−import Data.JsonSchema.Fetch (ReferencedSchemas(..),
14+import JSONSchema.Fetch (ReferencedSchemas(..),
15− URISchemaMap(..))
15+ URISchemaMap(..))
16−import qualified Data.JsonSchema.Types as JT
16+import qualified JSONSchema.Types as JT
17import Shared
17import Shared
18
18
19-- Examples
19-- Examples