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 2424 "purescript-enums" : " ^0.7.0" ,
2525 "purescript-foreign" : " ^0.7.0" ,
2626 "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"
2830 }
2931}
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 11module DOM.File.Types where
22
3+ import Unsafe.Coerce (unsafeCoerce )
4+
35foreign import data Blob :: *
46foreign import data BlobURL :: *
57foreign import data File :: *
68foreign import data FileList :: *
79foreign import data FileReader :: *
810foreign import data FileReaderSync :: *
11+
12+ fileToBlob :: File -> Blob
13+ fileToBlob = unsafeCoerce
You can’t perform that action at this time.
0 commit comments