0 | module Web.Internal.VisibilityTypes
 1 |
 2 | import JS
 3 |
 4 | %default total
 5 |
 6 |
 7 | --------------------------------------------------------------------------------
 8 | --          Enums
 9 | --------------------------------------------------------------------------------
10 |
11 | namespace VisibilityState
12 |
13 |   public export
14 |   data VisibilityState = Hidden | Visible
15 |
16 |   public export
17 |   Show VisibilityState where
18 |     show Hidden = "hidden"
19 |     show Visible = "visible"
20 |
21 |   public export
22 |   Eq VisibilityState where
23 |     (==) = (==) `on` show
24 |
25 |   public export
26 |   Ord VisibilityState where
27 |     compare = compare `on` show
28 |
29 |   public export
30 |   read : String -> Maybe VisibilityState
31 |   read "hidden" = Just Hidden
32 |   read "visible" = Just Visible
33 |   read _ = Nothing
34 |
35 |   export
36 |   ToFFI VisibilityState String where
37 |     toFFI = show
38 |
39 |   export
40 |   FromFFI VisibilityState String where
41 |     fromFFI = read
42 |