Skip to content

Commit c52f03f

Browse files
committed
Make kind a sum type, add to exports
1 parent 8f56ac6 commit c52f03f

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

src/Web/HTML/Event/DataTransfer.purs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
module Web.HTML.Event.DataTransfer
22
( DataTransfer
33
, files
4+
, items
45
, types
56
, getData
67
, setData

src/Web/HTML/Event/DataTransfer/DataTransferItem.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
"use strict";
22

3-
exports.kind = function (dataTransferItem) {
4-
return dataTransferItem.kind;
3+
exports._kind = function (text, file, dataTransferItem) {
4+
if (dataTransferItem.kind === "string") {
5+
return text;
6+
} else {
7+
return file;
8+
}
59
};
610

711
exports.type_ = function (dataTransferItem) {

src/Web/HTML/Event/DataTransfer/DataTransferItem.purs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,36 @@
11
module Web.HTML.Event.DataTransfer.DataTransferItem
22
( DataTransferItem
3+
, DataTransferItemKind(..)
34
, DataTransferItemList
5+
, dataTransferItem
6+
, kind
7+
, length
8+
, type_
49
) where
510

611
import Prelude
12+
13+
import Data.Function.Uncurried (Fn3)
14+
import Data.Function.Uncurried as Uncurried
715
import Data.Maybe (Maybe)
816
import Data.Nullable (Nullable)
917
import Data.Nullable as Nullable
1018

19+
data DataTransferItemKind = Text | File
20+
21+
derive instance Eq DataTransferItemKind
22+
derive instance Ord DataTransferItemKind
23+
24+
instance Show DataTransferItemKind where
25+
show = case _ of
26+
Text -> "Text"
27+
File -> "File"
28+
1129
-- | Returns the drag data item kind, which is either "string" or "file".
12-
foreign import kind :: DataTransferItem -> String
30+
kind :: DataTransferItem -> DataTransferItemKind
31+
kind = Uncurried.runFn3 _kind Text File
32+
33+
foreign import _kind :: Fn3 DataTransferItemKind DataTransferItemKind DataTransferItem DataTransferItemKind
1334

1435
-- | A Unicode string giving the type or format of the data, generally given by
1536
-- | a MIME type. Some values that are not MIME types are special-cased for

0 commit comments

Comments
 (0)