@@ -22,6 +22,13 @@ import Data.Validator.Reference (updateResolutionScope)
22embedded :: Schema -> ([Schema], [Schema])
22embedded :: Schema -> ([Schema], [Schema])
23embedded s = JT.embedded (d4Spec (ReferencedSchemas s mempty) mempty Nothing) s
23embedded s = JT.embedded (d4Spec (ReferencedSchemas s mempty) mempty Nothing) s
25+-- | For internal use.
27+-- A specialized version of 'const' that prevents overwriting
28+-- useful information.
26 :: ReferencedSchemas Schema
33 :: ReferencedSchemas Schema
27 -> SchemaWithURI Schema
34 -> SchemaWithURI Schema
@@ -52,7 +59,7 @@ d4Spec
52d4Spec referenced visited scope = Spec
59d4Spec referenced visited scope = Spec
54 (fmap D4.MultipleOf . _schemaMultipleOf)
61 (fmap D4.MultipleOf . _schemaMultipleOf)
55− (const MultipleOf)
62+ (toss MultipleOf)
56 D4.multipleOf
63 D4.multipleOf
58 (\s -> D4.MaximumContext (fromMaybe False (_schemaExclusiveMaximum s))
65 (\s -> D4.MaximumContext (fromMaybe False (_schemaExclusiveMaximum s))
@@ -65,13 +72,13 @@ d4Spec referenced visited scope = Spec
66 D4.minimumVal
73 D4.minimumVal
68− , dimap (fmap D4.MaxLength . _schemaMaxLength) (const MaxLength) D4.maxLength
75+ , dimap (fmap D4.MaxLength . _schemaMaxLength) (toss MaxLength) D4.maxLength
69− , dimap (fmap D4.MinLength . _schemaMinLength) (const MinLength) D4.minLength
76+ , dimap (fmap D4.MinLength . _schemaMinLength) (toss MinLength) D4.minLength
70− , dimap (fmap D4.PatternVal . _schemaPattern) (const PatternValidator) D4.patternVal
77+ , dimap (fmap D4.PatternVal . _schemaPattern) (toss PatternValidator) D4.patternVal
72− , dimap (fmap D4.MaxItems . _schemaMaxItems) (const MaxItems) D4.maxItems
79+ , dimap (fmap D4.MaxItems . _schemaMaxItems) (toss MaxItems) D4.maxItems
73− , dimap (fmap D4.MinItems . _schemaMinItems) (const MinItems) D4.minItems
80+ , dimap (fmap D4.MinItems . _schemaMinItems) (toss MinItems) D4.minItems
74− , dimap (fmap D4.UniqueItems . _schemaUniqueItems) (const UniqueItems) D4.uniqueItems
81+ , dimap (fmap D4.UniqueItems . _schemaUniqueItems) (toss UniqueItems) D4.uniqueItems
76 (\s -> D4.ItemsContext (_schemaAdditionalItems s) <$> _schemaItems s)
83 (\s -> D4.ItemsContext (_schemaAdditionalItems s) <$> _schemaItems s)
@@ -79,9 +86,9 @@ d4Spec referenced visited scope = Spec
79 , lmap (fmap D4.AdditionalItemsContext . _schemaAdditionalItems) D4.additionalItemsEmbedded
86 , lmap (fmap D4.AdditionalItemsContext . _schemaAdditionalItems) D4.additionalItemsEmbedded
80 , lmap (fmap D4.Definitions . _schemaDefinitions) D4.definitionsEmbedded
87 , lmap (fmap D4.Definitions . _schemaDefinitions) D4.definitionsEmbedded
82− , dimap (fmap D4.MaxProperties . _schemaMaxProperties) (const MaxProperties) D4.maxProperties
89+ , dimap (fmap D4.MaxProperties . _schemaMaxProperties) (toss MaxProperties) D4.maxProperties
83− , dimap (fmap D4.MinProperties . _schemaMinProperties) (const MinProperties) D4.minProperties
90+ , dimap (fmap D4.MinProperties . _schemaMinProperties) (toss MinProperties) D4.minProperties
84− , dimap (fmap D4.RequiredContext . _schemaRequired) (const Required) D4.required
91+ , dimap (fmap D4.RequiredContext . _schemaRequired) (toss Required) D4.required
85 , dimap (fmap D4.DependenciesContext . _schemaDependencies) depsE (D4.dependencies descend)
92 , dimap (fmap D4.DependenciesContext . _schemaDependencies) depsE (D4.dependencies descend)
87 (\s -> D4.PropertiesContext
94 (\s -> D4.PropertiesContext
@@ -109,12 +116,12 @@ d4Spec referenced visited scope = Spec
109 (\s -> D4.Ref <$> _schemaRef s)
116 (\s -> D4.Ref <$> _schemaRef s)
111 (D4.ref visited scope (FE.getReference referenced) refVal)
118 (D4.ref visited scope (FE.getReference referenced) refVal)
112− , dimap (fmap D4.EnumContext . _schemaEnum) (const Enum) D4.enumVal
119+ , dimap (fmap D4.EnumContext . _schemaEnum) (toss Enum) D4.enumVal
113− , dimap (fmap D4.TypeContext . _schemaType) (const TypeValidator) D4.typeVal
120+ , dimap (fmap D4.TypeContext . _schemaType) (toss TypeValidator) D4.typeVal
114 , dimap (fmap D4.AllOf . _schemaAllOf) AllOf (D4.allOf lateral)
121 , dimap (fmap D4.AllOf . _schemaAllOf) AllOf (D4.allOf lateral)
115− , dimap (fmap D4.AnyOf . _schemaAnyOf) (const AnyOf) (D4.anyOf lateral)
122+ , dimap (fmap D4.AnyOf . _schemaAnyOf) AnyOf (D4.anyOf lateral)
116− , dimap (fmap D4.OneOf . _schemaOneOf) (const OneOf) (D4.oneOf lateral)
123+ , dimap (fmap D4.OneOf . _schemaOneOf) oneOfE (D4.oneOf lateral)
117− , dimap (fmap D4.NotVal . _schemaNot) (const NotValidator) (D4.notVal lateral)
124+ , dimap (fmap D4.NotVal . _schemaNot) (toss NotValidator) (D4.notVal lateral)
120 refVal :: AN.VisitedSchemas -> Maybe Text -> Schema -> Value -> [Failure]
127 refVal :: AN.VisitedSchemas -> Maybe Text -> Schema -> Value -> [Failure]