11module DOM.HTML.HTMLMediaElement where
22
3- import Prelude (Unit ())
3+ import Prelude (Unit (), (<<<) )
44
55import Control.Monad.Eff (Eff ())
66
7+ import Data.Enum (toEnum )
8+ import Data.Maybe.Unsafe as U
9+
710import DOM (DOM ())
11+ import DOM.HTML.HTMLMediaElement.NetworkState (NetworkState ())
12+ import DOM.HTML.HTMLMediaElement.ReadyState (ReadyState ())
13+ import DOM.HTML.HTMLMediaElement.CanPlayType (CanPlayType ())
814import DOM.HTML.Types (HTMLMediaElement ())
915
10- -- enum CanPlayTypeEnum { "" /* empty string */, "maybe", "probably" };
1116-- interface HTMLMediaElement : HTMLElement {
1217
1318-- // error state
@@ -17,23 +22,22 @@ import DOM.HTML.Types (HTMLMediaElement())
1722-- attribute DOMString src;
1823-- readonly attribute DOMString currentSrc;
1924-- attribute DOMString crossOrigin;
20- -- const unsigned short NETWORK_EMPTY = 0;
21- -- const unsigned short NETWORK_IDLE = 1;
22- -- const unsigned short NETWORK_LOADING = 2;
23- -- const unsigned short NETWORK_NO_SOURCE = 3;
24- -- readonly attribute unsigned short networkState;
25+
26+ networkState :: HTMLMediaElement -> NetworkState
27+ networkState = U .fromJust <<< toEnum <<< readyStateIndex
28+
29+ foreign import networkStateIndex :: HTMLMediaElement -> Int
30+
2531-- attribute DOMString preload;
2632-- readonly attribute TimeRanges buffered;
2733-- void load();
28- -- CanPlayTypeEnum canPlayType(DOMString type);
29-
30- -- // ready state
31- -- const unsigned short HAVE_NOTHING = 0;
32- -- const unsigned short HAVE_METADATA = 1;
33- -- const unsigned short HAVE_CURRENT_DATA = 2;
34- -- const unsigned short HAVE_FUTURE_DATA = 3;
35- -- const unsigned short HAVE_ENOUGH_DATA = 4;
36- -- readonly attribute unsigned short readyState;
34+ -- CanPlayType canPlayType(DOMString type);
35+
36+ readyState :: HTMLMediaElement -> ReadyState
37+ readyState = U .fromJust <<< toEnum <<< readyStateIndex
38+
39+ foreign import readyStateIndex :: HTMLMediaElement -> Int
40+
3741-- readonly attribute boolean seeking;
3842
3943-- // playback state
@@ -66,5 +70,3 @@ import DOM.HTML.Types (HTMLMediaElement())
6670-- readonly attribute VideoTrackList videoTracks;
6771-- readonly attribute TextTrackList textTracks;
6872-- TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
69- -- };
70-
0 commit comments