This repository was archived by the owner on Oct 4, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 8 files changed +76
-1
lines changed Expand file tree Collapse file tree 8 files changed +76
-1
lines changed Original file line number Diff line number Diff line change 24
24
"purescript-enums" : " ^0.7.0" ,
25
25
"purescript-foreign" : " ^0.7.0" ,
26
26
"purescript-exceptions" : " ~0.3.0" ,
27
- "purescript-nullable" : " ~0.2.1"
27
+ "purescript-nullable" : " ~0.2.1" ,
28
+ "purescript-datetime" : " ~0.9.1" ,
29
+ "purescript-media-types" : " ~0.1.1"
28
30
}
29
31
}
Original file line number Diff line number Diff line change
1
+ // module DOM.File.Blob
2
+
3
+ exports . typeImpl = function ( blob ) { return blob . type } ;
4
+
5
+ exports . size = function ( blob ) { return blob . size } ;
Original file line number Diff line number Diff line change
1
+ module DOM.File.Blob
2
+ ( type_
3
+ , size
4
+ ) where
5
+
6
+ import Prelude ((==))
7
+ import Data.Maybe (Maybe (..))
8
+ import Data.MediaType (MediaType (..))
9
+
10
+ import DOM.File.Types (Blob ())
11
+
12
+ foreign import typeImpl :: Blob -> String
13
+
14
+ -- | `MediaType` of the data contained in the `Blob`.
15
+ -- | Returns `Nothing` if the `MediaType` is unknown.
16
+ type_ :: Blob -> Maybe MediaType
17
+ type_ blob = let blobType = typeImpl blob
18
+ in if blobType == " "
19
+ then Nothing
20
+ else Just (MediaType blobType)
21
+
22
+ -- | The size (in bytes) of the data contained in the `Blob`.
23
+ foreign import size :: Blob -> Number
Original file line number Diff line number Diff line change
1
+ // module DOM.File.File
2
+
3
+ exports . name = function ( file ) { return file . name } ;
4
+ exports . lastModifiedDate = function ( file ) { return file . lastModifiedDate }
5
+ exports . lastModified = function ( file ) { return file . lastModified }
Original file line number Diff line number Diff line change
1
+ module DOM.File.File
2
+ ( name
3
+ , lastModified
4
+ , lastModifiedDate
5
+ ) where
6
+
7
+ import DOM.File.Types (File ())
8
+
9
+ import Data.Date (JSDate ())
10
+
11
+ foreign import name :: File -> String
12
+ foreign import lastModifiedDate :: File -> JSDate
13
+ foreign import lastModified :: File -> Number
Original file line number Diff line number Diff line change
1
+ // module DOM.File.FileList
2
+
3
+ exports . length = function ( fileList ) { return fileList . length ; } ;
4
+
5
+ exports . item = function ( index ) {
6
+ return function ( fileList ) {
7
+ return fileList . item ( index ) ;
8
+ }
9
+ } ;
Original file line number Diff line number Diff line change
1
+ module DOM.File.FileList
2
+ ( item
3
+ , length
4
+ ) where
5
+
6
+ import Data.Nullable (Nullable ())
7
+ import DOM.File.Types (FileList (), File ())
8
+
9
+ -- | Number of files in the `FileList` object.
10
+ foreign import length :: FileList -> Int
11
+
12
+ -- | Get `File` at the certain position
13
+ foreign import item :: Int -> FileList -> Nullable File
Original file line number Diff line number Diff line change 1
1
module DOM.File.Types where
2
2
3
+ import Unsafe.Coerce (unsafeCoerce )
4
+
3
5
foreign import data Blob :: *
4
6
foreign import data BlobURL :: *
5
7
foreign import data File :: *
6
8
foreign import data FileList :: *
7
9
foreign import data FileReader :: *
8
10
foreign import data FileReaderSync :: *
11
+
12
+ fileToBlob :: File -> Blob
13
+ fileToBlob = unsafeCoerce
You can’t perform that action at this time.
0 commit comments