hw-json-1.0.0.0: src/HaskellWorks/Data/Json/Internal/Index.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
module HaskellWorks.Data.Json.Internal.Index where
import HaskellWorks.Data.Json.DecodeError
import Prelude hiding (drop)
import qualified Data.ByteString as BS
data JsonIndex
= JsonIndexString BS.ByteString
| JsonIndexNumber BS.ByteString
| JsonIndexObject [(BS.ByteString, JsonIndex)]
| JsonIndexArray [JsonIndex]
| JsonIndexBool Bool
| JsonIndexNull
deriving (Eq, Show)
class JsonIndexAt a where
jsonIndexAt :: a -> Either DecodeError JsonIndex