git.iko.soy/typeable/hjsonschema
on master help sign in
Some internal renaming.

"Invalid" is a better descriptor of what happens when validators aren't successful than "Failure".

commit5f9e7586162fc4aeaa7e7a3f20a9e12bd05a814f authorIan Grant Jeffries <ian@housejeffries.com> dateFri 6 May 2016, 12:21 (10 years ago) parent8fa07b5
5 files changed+70−70
src/Data/JsonSchema/Draft4/Internal.hs+15−15 src/Data/Validator/Draft4/Array.hs+21−21 src/Data/Validator/Draft4/Number.hs+4−4 src/Data/Validator/Draft4/Object.hs+7−7 src/Data/Validator/Draft4/Object/Properties.hs+23−23
src/Data/JsonSchema/Draft4/Internal.hs+15−15
@@ -184,8 +184,8 @@ validateArray referenced (SchemaWithURI schema mUri) x = concat
184184 recurse = descendNextLevel referenced (SchemaWithURI schema mUri)
185185
186186 fItems (AR.Items err) = Items err
187− fItems AR.AdditionalItemsBoolFailure = AdditionalItemsBool
188− fItems (AR.AdditionalItemsObjectFailure err) = AdditionalItemsObject err
187+ fItems AR.AdditionalItemsBoolInvalid = AdditionalItemsBool
188+ fItems (AR.AdditionalItemsObjectInvalid err) = AdditionalItemsObject err
189189
190190validateObject
191191 :: ReferencedSchemas Schema
@@ -221,24 +221,24 @@ validateObject referenced (SchemaWithURI schema mUri) x = concat
221221
222222 recurse = descendNextLevel referenced (SchemaWithURI schema mUri)
223223
224− fDeps (OB.SchemaDependencyFailure err) = SchemaDependency err
225− fDeps OB.PropertyDependencyFailure = PropertyDependency
224+ fDeps (OB.SchemaDependencyInvalid err) = SchemaDependency err
225+ fDeps OB.PropertyDependencyInvalid = PropertyDependency
226226
227− fProp (OB.PropertiesFailure err) = Properties err
228− fProp (OB.PropPatternFailure err) = PatternProperties err
229− fProp (OB.PropAdditionalFailure a) =
227+ fProp (OB.PropertiesInvalid err) = Properties err
228+ fProp (OB.PropPatternInvalid err) = PatternProperties err
229+ fProp (OB.PropAdditionalInvalid a) =
230230 case a of
231− OB.APBoolFailure -> AdditionalPropertiesBool
232− OB.APObjectFailure err -> AdditionalPropertiesObject err
231+ OB.APBoolInvalid -> AdditionalPropertiesBool
232+ OB.APObjectInvalid err -> AdditionalPropertiesObject err
233233
234− fPatProp (OB.PPFailure err) = PatternProperties err
235− fPatProp (OB.PPAdditionalPropertiesFailure a) =
234+ fPatProp (OB.PPInvalid err) = PatternProperties err
235+ fPatProp (OB.PPAdditionalPropertiesInvalid a) =
236236 case a of
237− OB.APBoolFailure -> AdditionalPropertiesBool
238− OB.APObjectFailure err -> AdditionalPropertiesObject err
237+ OB.APBoolInvalid -> AdditionalPropertiesBool
238+ OB.APObjectInvalid err -> AdditionalPropertiesObject err
239239
240− fAddProp OB.APBoolFailure = AdditionalPropertiesBool
241− fAddProp (OB.APObjectFailure err) = AdditionalItemsObject err
240+ fAddProp OB.APBoolInvalid = AdditionalPropertiesBool
241+ fAddProp (OB.APObjectInvalid err) = AdditionalItemsObject err
242242
243243--------------------------------------------------
244244-- * Validation (Internal utils)
src/Data/Validator/Draft4/Array.hs+21−21
@@ -35,10 +35,10 @@ uniqueItems False _ = Nothing
3535-- * items
3636--------------------------------------------------
3737
38−data ItemsFailure err
38+data ItemsInvalid err
3939 = Items err
40− | AdditionalItemsBoolFailure
41− | AdditionalItemsObjectFailure err
40+ | AdditionalItemsBoolInvalid
41+ | AdditionalItemsObjectInvalid err
4242 deriving (Eq, Show)
4343
4444data Items schema
@@ -65,10 +65,10 @@ items
6565 -> Maybe (AdditionalItems schema)
6666 -> Items schema
6767 -> Vector Value
68− -> [Failure (ItemsFailure err)]
68+ -> [Failure (ItemsInvalid err)]
6969items f _ (ItemsObject subSchema) xs = zip [0..] (V.toList xs) >>= g
7070 where
71− g :: (Int, Value) -> [Failure (ItemsFailure err)]
71+ g :: (Int, Value) -> [Failure (ItemsInvalid err)]
7272 g (index,x) = modFailure Items
7373 . addToPath (P.Token (T.pack (show index)))
7474 <$> f subSchema x
@@ -79,15 +79,15 @@ items f mAdditional (ItemsArray subSchemas) xs = itemFailures
7979 indexedValues :: [(Int, Value)]
8080 indexedValues = zip [0..] (V.toList xs)
8181
82− itemFailures :: [Failure (ItemsFailure err)]
82+ itemFailures :: [Failure (ItemsInvalid err)]
8383 itemFailures = join (zipWith g subSchemas indexedValues)
8484 where
85− g :: schema -> (Int, Value) -> [Failure (ItemsFailure err)]
85+ g :: schema -> (Int, Value) -> [Failure (ItemsInvalid err)]
8686 g schema (index,x) = modFailure Items
8787 . addToPath (P.Token (T.pack (show index)))
8888 <$> f schema x
8989
90− additionalItemFailures :: [Failure (ItemsFailure err)]
90+ additionalItemFailures :: [Failure (ItemsInvalid err)]
9191 additionalItemFailures =
9292 case mAdditional of
9393 Nothing -> mempty
@@ -105,8 +105,8 @@ items f mAdditional (ItemsArray subSchemas) xs = itemFailures
105105 -- represent invalid data so they actually represent the correct
106106 -- offsets.
107107 correctIndexes
108− :: Failure (AdditionalItemsFailure err)
109− -> Failure (AdditionalItemsFailure err)
108+ :: Failure (AdditionalItemsInvalid err)
109+ -> Failure (AdditionalItemsInvalid err)
110110 correctIndexes (Invalid a b c) = Invalid a b (fixIndex c)
111111 where
112112 fixIndex :: P.Pointer -> P.Pointer
@@ -117,18 +117,18 @@ items f mAdditional (ItemsArray subSchemas) xs = itemFailures
117117 (P.Token . T.pack . show $ n + length subSchemas):toks
118118 fixIndex (P.Pointer []) = P.Pointer []
119119
120− correctName :: AdditionalItemsFailure err -> ItemsFailure err
121− correctName AdditionalBoolFailure = AdditionalItemsBoolFailure
122− correctName (AdditionalObjectFailure err) =
123− AdditionalItemsObjectFailure err
120+ correctName :: AdditionalItemsInvalid err -> ItemsInvalid err
121+ correctName AdditionalBoolInvalid = AdditionalItemsBoolInvalid
122+ correctName (AdditionalObjectInvalid err) =
123+ AdditionalItemsObjectInvalid err
124124
125125--------------------------------------------------
126126-- * additionalItems
127127--------------------------------------------------
128128
129−data AdditionalItemsFailure err
130− = AdditionalBoolFailure
131− | AdditionalObjectFailure err
129+data AdditionalItemsInvalid err
130+ = AdditionalBoolInvalid
131+ | AdditionalObjectInvalid err
132132 deriving (Eq, Show)
133133
134134data AdditionalItems schema
@@ -154,15 +154,15 @@ additionalItems
154154 (schema -> Value -> [Failure err])
155155 -> AdditionalItems schema
156156 -> Vector Value
157− -> [Failure (AdditionalItemsFailure err)]
157+ -> [Failure (AdditionalItemsInvalid err)]
158158additionalItems _ (AdditionalBool b) xs
159159 | b = mempty
160− | V.length xs > 0 = pure (Invalid AdditionalBoolFailure (Bool b) mempty)
160+ | V.length xs > 0 = pure (Invalid AdditionalBoolInvalid (Bool b) mempty)
161161 | otherwise = mempty
162162additionalItems f (AdditionalObject subSchema) xs =
163163 zip [0..] (V.toList xs) >>= g
164164 where
165− g :: (Int, Value) -> [Failure (AdditionalItemsFailure err)]
166− g (index,x) = modFailure AdditionalObjectFailure
165+ g :: (Int, Value) -> [Failure (AdditionalItemsInvalid err)]
166+ g (index,x) = modFailure AdditionalObjectInvalid
167167 . addToPath (P.Token (T.pack (show index)))
168168 <$> f subSchema x
src/Data/Validator/Draft4/Number.hs+4−4
@@ -14,7 +14,7 @@ multipleOf n x
1414 | x `mod'` n /= 0 = Just (Invalid () (toJSON n) mempty)
1515 | otherwise = Nothing
1616
17−data MaximumFailure
17+data MaximumInvalid
1818 = Maximum
1919 | ExclusiveMaximum
2020 deriving (Eq, Show)
@@ -23,7 +23,7 @@ maximumVal
2323 :: Bool
2424 -> Scientific
2525 -> Scientific
26− -> Maybe (Failure MaximumFailure)
26+ -> Maybe (Failure MaximumInvalid)
2727maximumVal exclusiveMaximum n x
2828 | x `greaterThan` n = Just (Invalid err (toJSON n) mempty)
2929 | otherwise = Nothing
@@ -32,7 +32,7 @@ maximumVal exclusiveMaximum n x
3232 then ((>=), ExclusiveMaximum)
3333 else ((>), Maximum)
3434
35−data MinimumFailure
35+data MinimumInvalid
3636 = Minimum
3737 | ExclusiveMinimum
3838 deriving (Eq, Show)
@@ -41,7 +41,7 @@ minimumVal
4141 :: Bool
4242 -> Scientific
4343 -> Scientific
44− -> Maybe (Failure MinimumFailure)
44+ -> Maybe (Failure MinimumInvalid)
4545minimumVal exclusiveMinimum n x
4646 | x `lessThan` n = Just (Invalid err (toJSON n) mempty)
4747 | otherwise = Nothing
src/Data/Validator/Draft4/Object.hs+7−7
@@ -89,9 +89,9 @@ required (Required ts) x
8989-- * dependencies
9090--------------------------------------------------
9191
92−data DependencyFailure err
93− = SchemaDependencyFailure err
94− | PropertyDependencyFailure
92+data DependencyInvalid err
93+ = SchemaDependencyInvalid err
94+ | PropertyDependencyInvalid
9595 deriving (Eq, Show)
9696
9797data Dependency schema
@@ -128,17 +128,17 @@ dependencies
128128 :: forall err schema. (schema -> Value -> [Failure err])
129129 -> HashMap Text (Dependency schema)
130130 -> HashMap Text Value
131− -> [Failure (DependencyFailure err)]
131+ -> [Failure (DependencyInvalid err)]
132132dependencies f hm x = concat . fmap (uncurry g) . H.toList $ hm
133133 where
134− g :: Text -> Dependency schema -> [Failure (DependencyFailure err)]
134+ g :: Text -> Dependency schema -> [Failure (DependencyInvalid err)]
135135 g k (SchemaDependency schema)
136136 | H.member k x =
137− modFailure SchemaDependencyFailure <$> f schema (Object x)
137+ modFailure SchemaDependencyInvalid <$> f schema (Object x)
138138 | otherwise = mempty
139139 g k (PropertyDependency ts)
140140 | H.member k x && not allPresent =
141− pure $ Invalid PropertyDependencyFailure
141+ pure $ Invalid PropertyDependencyInvalid
142142 (toJSON (H.singleton k ts))
143143 mempty
144144 | otherwise = mempty
src/Data/Validator/Draft4/Object/Properties.hs+23−23
@@ -19,10 +19,10 @@ newtype Remaining = Remaining { _unRemaining :: HashMap Text Value }
1919-- * properties
2020--------------------------------------------------
2121
22−data PropertiesFailure err
23− = PropertiesFailure err
24− | PropPatternFailure err
25− | PropAdditionalFailure (AdditionalPropertiesFailure err)
22+data PropertiesInvalid err
23+ = PropertiesInvalid err
24+ | PropPatternInvalid err
25+ | PropAdditionalInvalid (AdditionalPropertiesInvalid err)
2626 deriving (Eq, Show)
2727
2828-- | In order of what's tried: "properties", "patternProperties",
@@ -34,11 +34,11 @@ properties
3434 -> Maybe (AdditionalProperties schema)
3535 -> HashMap Text schema
3636 -> HashMap Text Value
37− -> [Failure (PropertiesFailure err)]
37+ -> [Failure (PropertiesInvalid err)]
3838properties f mPat mAdd propertiesHm x =
39− fmap (modFailure PropertiesFailure) propFailures
40− <> fmap (modFailure PropPatternFailure) patternFailures
41− <> fmap (modFailure PropAdditionalFailure) additionalFailures
39+ fmap (modFailure PropertiesInvalid) propFailures
40+ <> fmap (modFailure PropPatternInvalid) patternFailures
41+ <> fmap (modFailure PropAdditionalInvalid) additionalFailures
4242 where
4343 propertiesAndUnmatched :: ([Failure err], Remaining)
4444 propertiesAndUnmatched = ( failures
@@ -64,7 +64,7 @@ properties f mPat mAdd propertiesHm x =
6464 Nothing -> remaining1
6565 Just val -> snd . val . _unRemaining $ remaining1
6666
67− additionalFailures :: [Failure (AdditionalPropertiesFailure err)]
67+ additionalFailures :: [Failure (AdditionalPropertiesInvalid err)]
6868 additionalFailures = case additionalProperties f <$> mAdd of
6969 Nothing -> mempty
7070 Just val -> val (_unRemaining remaining2)
@@ -73,9 +73,9 @@ properties f mPat mAdd propertiesHm x =
7373-- * patternProperties
7474--------------------------------------------------
7575
76−data PatternPropertiesFailure err
77− = PPFailure err
78− | PPAdditionalPropertiesFailure (AdditionalPropertiesFailure err)
76+data PatternPropertiesInvalid err
77+ = PPInvalid err
78+ | PPAdditionalPropertiesInvalid (AdditionalPropertiesInvalid err)
7979 deriving (Eq, Show)
8080
8181patternProperties
@@ -84,17 +84,17 @@ patternProperties
8484 -> Maybe (AdditionalProperties schema)
8585 -> HashMap Text schema
8686 -> HashMap Text Value
87− -> [Failure (PatternPropertiesFailure err)]
87+ -> [Failure (PatternPropertiesInvalid err)]
8888patternProperties f mAdd patternPropertiesHm x =
89− fmap (modFailure PPFailure) ppFailures
90− <> fmap (modFailure PPAdditionalPropertiesFailure) addFailures
89+ fmap (modFailure PPInvalid) ppFailures
90+ <> fmap (modFailure PPAdditionalPropertiesInvalid) addFailures
9191 where
9292 patternProps :: ([Failure err], Remaining)
9393 patternProps = patternAndUnmatched f patternPropertiesHm x
9494
9595 (ppFailures, remaining) = patternProps
9696
97− addFailures :: [Failure (AdditionalPropertiesFailure err)]
97+ addFailures :: [Failure (AdditionalPropertiesInvalid err)]
9898 addFailures = case additionalProperties f <$> mAdd of
9999 Nothing -> mempty
100100 Just val -> val (_unRemaining remaining)
@@ -149,9 +149,9 @@ patternAndUnmatched f patPropertiesHm x =
149149-- * additionalProperties
150150--------------------------------------------------
151151
152−data AdditionalPropertiesFailure err
153− = APBoolFailure
154− | APObjectFailure err
152+data AdditionalPropertiesInvalid err
153+ = APBoolInvalid
154+ | APObjectInvalid err
155155 deriving (Eq, Show)
156156
157157data AdditionalProperties schema
@@ -177,14 +177,14 @@ additionalProperties
177177 (schema -> Value -> [Failure err])
178178 -> AdditionalProperties schema
179179 -> HashMap Text Value
180− -> [Failure (AdditionalPropertiesFailure err)]
180+ -> [Failure (AdditionalPropertiesInvalid err)]
181181additionalProperties _ (AdditionalPropertiesBool False) x
182− | H.size x > 0 = pure $ Invalid APBoolFailure (Bool False) mempty
182+ | H.size x > 0 = pure $ Invalid APBoolInvalid (Bool False) mempty
183183 | otherwise = mempty
184184additionalProperties _ (AdditionalPropertiesBool True) _ = mempty
185185additionalProperties f (AdditionalPropertiesObject schema) x = H.toList x >>= g
186186 where
187− g :: (Text, Value) -> [Failure (AdditionalPropertiesFailure err)]
188− g (k,v) = modFailure APObjectFailure
187+ g :: (Text, Value) -> [Failure (AdditionalPropertiesInvalid err)]
188+ g (k,v) = modFailure APObjectInvalid
189189 . addToPath (P.Token k)
190190 <$> f schema v