module Data.Validity.Aeson where
import Data.Aeson
import Data.Validity
import Data.Validity.HashMap ()
import Data.Validity.Scientific ()
import Data.Validity.Text ()
import Data.Validity.Vector ()
instance Validity Value where
isValid (Object o) = isValid o
isValid (Array a) = isValid a
isValid (String t) = isValid t
isValid (Number s) = isValid s
isValid (Bool b) = isValid b
isValid Null = True
validate (Object o) = o <?!> "Object"
validate (Array a) = a <?!> "Array"
validate (String t) = t <?!> "String"
validate (Number s) = s <?!> "Number"
validate (Bool b) = b <?!> "Bool"
validate Null = mempty