0 | module JS.Boolean
 1 |
 2 | import JS.Marshall
 3 | import JS.Inheritance
 4 | import JS.Util
 5 |
 6 | %default total
 7 |
 8 | export
 9 | data Boolean : Type where [external]
10 |
11 | export
12 | %foreign "javascript:lambda:()=>true"
13 | true : Boolean
14 |
15 | export
16 | %foreign "javascript:lambda:()=>false"
17 | false : Boolean
18 |
19 | export
20 | ToFFI Bool Boolean where
21 |   toFFI True  = true
22 |   toFFI False = false
23 |
24 | export
25 | FromFFI Bool Boolean where
26 |   fromFFI v =
27 |     if eqv v true then Just True
28 |     else if eqv v false then Just False
29 |     else Nothing
30 |
31 | export
32 | SafeCast Boolean where
33 |   safeCast = unsafeCastOnTypeof "boolean"
34 |