@@ -17,7 +17,8 @@ import DOM.File.Types (FileList)
1717import Data.Maybe (Maybe )
1818import Data.MediaType (MediaType (..))
1919import Data.Nullable (Nullable , toMaybe )
20- import Partial.Unsafe (unsafePartialBecause )
20+ import Partial (crashWith )
21+ import Partial.Unsafe (unsafePartial )
2122
2223foreign import data DataTransfer :: Type
2324
@@ -69,24 +70,28 @@ setData (MediaType format) dat dt = setDataImpl format dat dt
6970
7071foreign import dropEffectImpl :: forall eff . DataTransfer -> Eff (dom :: DOM | eff ) String
7172
72- data DropEffect = None | Copy | Move | Link
73+ data DropEffect = Copy | Link | Move | None
74+
75+ derive instance eqDropEffect :: Eq DropEffect
76+ derive instance ordDropEffect :: Ord DropEffect
7377
7478-- | Gets the data transfer object's drop effect.
7579dropEffect :: forall eff . DataTransfer -> Eff (dom :: DOM | eff ) DropEffect
7680dropEffect dt = do
7781 de <- dropEffectImpl dt
78- pure $ unsafePartialBecause " No other values are possible https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/dropEffect " case de of
82+ pure $ unsafePartial $ case de of
7983 " copy" -> Copy
80- " move" -> Move
8184 " link" -> Link
85+ " move" -> Move
8286 " none" -> None
87+ _ -> crashWith " Impossible according to https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/dropEffect"
8388
8489foreign import setDropEffectImpl :: forall eff . String -> DataTransfer -> Eff (dom :: DOM | eff ) Unit
8590
8691-- | Sets the data transfer object's drop effect.
8792setDropEffect :: forall eff . DropEffect -> DataTransfer -> Eff (dom :: DOM | eff ) Unit
8893setDropEffect de = setDropEffectImpl case de of
8994 Copy -> " copy"
90- None -> " none"
91- Move -> " move"
9295 Link -> " link"
96+ Move -> " move"
97+ None -> " none"
0 commit comments