@@ -1,23 +1,20 @@
1+{-# OPTIONS_GHC -Wall #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
2−module Json.Decode.Error
3+module Reporting.Error.Json
3 ( Error(..)
4 ( Error(..)
4− , toDoc
5+ , Problem(..)
6+ , DecodeExpectation(..)
7+ , ParseExpectation(..)
9−import Prelude hiding (userError)
14+import qualified Data.Utf8 as Utf8
10−import qualified Data.Char as Char
15+import Data.Word (Word16)
11−import qualified Data.List as List
12−import qualified Data.Map as Map
13−import qualified Data.Text as Text
15−import qualified Json.Decode.Internals as Json
17+import qualified Parse.Primitives as P
16−import qualified Json.Encode as E
17−import Reporting.Doc ((<+>), (<>))
18−import qualified Reporting.Doc as D
19−import qualified Reporting.Error.Syntax as Syntax
20−import qualified Reporting.Render.Code as Code
21import qualified Reporting.Report as Report
18import qualified Reporting.Report as Report
@@ -25,6 +22,76 @@ import qualified Reporting.Report as Report
26+ = DecodeProblem (Problem e)
27+ | ParseProblem Word16 Word16 (P.Context Context) ParseExpectation
35+ = Field Utf8.String (Problem e)
36+ | Index Int (Problem e)
37+ | OneOf (Problem e) [Problem e]
39+ | Expecting DecodeExpectation
42+data DecodeExpectation
48+ | TObjectWith Utf8.String
85+toReport :: Error e -> Report.Report
87+ error "TODO Reporting.Error.Json.toReport" err
28data Error e
95data Error e
29 = BadJson Syntax.Error
96 = BadJson Syntax.Error
30 | BadContent (Json.Error e)
97 | BadContent (Json.Error e)
@@ -263,3 +330,5 @@ fieldToName field =
263indexToName :: Int -> String
330indexToName :: Int -> String
264indexToName index =
331indexToName index =
265 "[" ++ show index ++ "]"
332 "[" ++ show index ++ "]"