@@ -5,12 +5,17 @@ module Network.HTTP.Affjax.Response
55 ) where
66
77import Prelude
8+
9+ import Data.Argonaut.Core (Json ())
810import Data.Either (Either (..))
911import Data.Foreign (Foreign (), F (), readString , unsafeReadTagged )
12+ import qualified Data.ArrayBuffer.Types as A
13+
1014import DOM.File.Types (Blob ())
1115import DOM.Node.Types (Document ())
1216import DOM.XHR.Types (FormData ())
13- import qualified Data.ArrayBuffer.Types as A
17+
18+ import Unsafe.Coerce (unsafeCoerce )
1419
1520-- | Valid response types for an AJAX request. This is used to determine the
1621-- | `ResponseContent` type for a request. The `a` type variable is a phantom
@@ -61,7 +66,7 @@ instance responsableDocument :: Respondable Document where
6166 responseType = DocumentResponse
6267 fromResponse = unsafeReadTagged " Document"
6368
64- instance responsableJSON :: Respondable Foreign where
69+ instance responsableForeign :: Respondable Foreign where
6570 responseType = JSONResponse
6671 fromResponse = Right
6772
@@ -76,3 +81,7 @@ instance responsableUnit :: Respondable Unit where
7681instance responsableArrayBuffer :: Respondable A.ArrayBuffer where
7782 responseType = ArrayBufferResponse
7883 fromResponse = unsafeReadTagged " ArrayBuffer"
84+
85+ instance responsableJson :: Respondable Json where
86+ responseType = JSONResponse
87+ fromResponse = Right <<< unsafeCoerce
0 commit comments