This repository was archived by the owner on Oct 4, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +8
-5
lines changed Expand file tree Collapse file tree 2 files changed +8
-5
lines changed Original file line number Diff line number Diff line change 44exports . _readEventTarget = function ( left ) {
55 return function ( right ) {
66 return function ( foreign ) {
7- return foreign instanceof EventTarget ? left ( "Value is not an EventTarget" ) : right ( foreign ) ;
7+ return foreign instanceof EventTarget ? right ( foreign ) : left ( "Value is not an EventTarget" ) ;
88 } ;
99 } ;
1010} ;
Original file line number Diff line number Diff line change @@ -39,9 +39,10 @@ module DOM.Event.Types
3939 ) where
4040
4141import Prelude
42+ import Data.Bifunctor (lmap )
4243import Data.Either (Either (..))
43- import Data.Foreign (F , Foreign , unsafeReadTagged )
44- import Data.Newtype (class Newtype )
44+ import Data.Foreign (F , Foreign , ForeignError (ForeignError), unsafeReadTagged )
45+ import Data.Newtype (class Newtype , wrap )
4546import Unsafe.Coerce as U
4647
4748-- | Basic type for all DOM events.
@@ -58,13 +59,15 @@ derive newtype instance ordEventType :: Ord EventType
5859foreign import data EventTarget :: Type
5960
6061readEventTarget :: Foreign -> F EventTarget
61- readEventTarget = _readEventTarget Left Right
62+ readEventTarget =
63+ wrap <<< wrap <<< lmap (pure <<< ForeignError ) <<<
64+ _readEventTarget Left Right
6265
6366foreign import _readEventTarget
6467 :: (forall a b . a -> Either a b )
6568 -> (forall a b . b -> Either a b )
6669 -> Foreign
67- -> F EventTarget
70+ -> Either String EventTarget
6871
6972foreign import data CustomEvent :: Type
7073
You can’t perform that action at this time.
0 commit comments