{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DeriveAnyClass #-}
module Miso.DSL.FFI where
import Control.Exception (Exception)
import Data.Text (Text, unpack)
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Builder as TB
import qualified Data.Text.Lazy.Builder.Int as TBI
import qualified Data.Text.Lazy.Builder.RealFloat as TBR
import Text.Read (readMaybe)
data JSVal = JSVal
data JSException = JSException
deriving stock Int -> JSException -> ShowS
[JSException] -> ShowS
JSException -> String
(Int -> JSException -> ShowS)
-> (JSException -> String)
-> ([JSException] -> ShowS)
-> Show JSException
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> JSException -> ShowS
showsPrec :: Int -> JSException -> ShowS
$cshow :: JSException -> String
show :: JSException -> String
$cshowList :: [JSException] -> ShowS
showList :: [JSException] -> ShowS
Show
deriving anyclass Show JSException
Typeable JSException
(Typeable JSException, Show JSException) =>
(JSException -> SomeException)
-> (SomeException -> Maybe JSException)
-> (JSException -> String)
-> Exception JSException
SomeException -> Maybe JSException
JSException -> String
JSException -> SomeException
forall e.
(Typeable e, Show e) =>
(e -> SomeException)
-> (SomeException -> Maybe e) -> (e -> String) -> Exception e
$ctoException :: JSException -> SomeException
toException :: JSException -> SomeException
$cfromException :: SomeException -> Maybe JSException
fromException :: SomeException -> Maybe JSException
$cdisplayException :: JSException -> String
displayException :: JSException -> String
Exception
instance Eq JSVal where
JSVal
JSVal == :: JSVal -> JSVal -> Bool
== JSVal
JSVal = Bool
True
toJSVal_Bool :: Bool -> IO JSVal
toJSVal_Bool :: Bool -> IO JSVal
toJSVal_Bool = Bool -> IO JSVal
forall a. HasCallStack => a
undefined
toJSVal_Double :: Double -> IO JSVal
toJSVal_Double :: Double -> IO JSVal
toJSVal_Double = Double -> IO JSVal
forall a. HasCallStack => a
undefined
toJSVal_Int :: Int -> IO JSVal
toJSVal_Int :: Int -> IO JSVal
toJSVal_Int = Int -> IO JSVal
forall a. HasCallStack => a
undefined
toJSVal_List :: [JSVal] -> IO JSVal
toJSVal_List :: [JSVal] -> IO JSVal
toJSVal_List = [JSVal] -> IO JSVal
forall a. HasCallStack => a
undefined
jsNull :: JSVal
jsNull :: JSVal
jsNull = JSVal
JSVal
toJSVal_JSVal :: JSVal -> IO JSVal
toJSVal_JSVal :: JSVal -> IO JSVal
toJSVal_JSVal = JSVal -> IO JSVal
forall a. HasCallStack => a
undefined
toJSVal_Char :: Char -> IO JSVal
toJSVal_Char :: Char -> IO JSVal
toJSVal_Char = Char -> IO JSVal
forall a. HasCallStack => a
undefined
toJSVal_Float :: Float -> IO JSVal
toJSVal_Float :: Float -> IO JSVal
toJSVal_Float = Float -> IO JSVal
forall a. HasCallStack => a
undefined
toJSVal_Text :: Text -> IO JSVal
toJSVal_Text :: Text -> IO JSVal
toJSVal_Text = Text -> IO JSVal
forall a. HasCallStack => a
undefined
fromJSVal_Text :: JSVal -> IO (Maybe Text)
fromJSVal_Text :: JSVal -> IO (Maybe Text)
fromJSVal_Text = JSVal -> IO (Maybe Text)
forall a. HasCallStack => a
undefined
fromJSValUnchecked_Text :: JSVal -> IO Text
fromJSValUnchecked_Text :: JSVal -> IO Text
fromJSValUnchecked_Text = JSVal -> IO Text
forall a. HasCallStack => a
undefined
fromJSVal_Char :: JSVal -> IO (Maybe Char)
fromJSVal_Char :: JSVal -> IO (Maybe Char)
fromJSVal_Char = JSVal -> IO (Maybe Char)
forall a. HasCallStack => a
undefined
fromJSValUnchecked_Char :: JSVal -> IO Char
fromJSValUnchecked_Char :: JSVal -> IO Char
fromJSValUnchecked_Char = JSVal -> IO Char
forall a. HasCallStack => a
undefined
fromJSVal_Float :: JSVal -> IO (Maybe Float)
fromJSVal_Float :: JSVal -> IO (Maybe Float)
fromJSVal_Float = JSVal -> IO (Maybe Float)
forall a. HasCallStack => a
undefined
fromJSValUnchecked_Float :: JSVal -> IO Float
fromJSValUnchecked_Float :: JSVal -> IO Float
fromJSValUnchecked_Float = JSVal -> IO Float
forall a. HasCallStack => a
undefined
fromJSVal_Bool :: JSVal -> IO (Maybe Bool)
fromJSVal_Bool :: JSVal -> IO (Maybe Bool)
fromJSVal_Bool = JSVal -> IO (Maybe Bool)
forall a. HasCallStack => a
undefined
new_ffi :: JSVal -> JSVal -> IO JSVal
new_ffi :: JSVal -> JSVal -> IO JSVal
new_ffi = JSVal -> JSVal -> IO JSVal
forall a. HasCallStack => a
undefined
eval_ffi :: Text -> IO JSVal
eval_ffi :: Text -> IO JSVal
eval_ffi = Text -> IO JSVal
forall a. HasCallStack => a
undefined
create_ffi :: IO JSVal
create_ffi :: IO JSVal
create_ffi = IO JSVal
forall a. HasCallStack => a
undefined
getProp_ffi :: Text -> JSVal -> IO JSVal
getProp_ffi :: Text -> JSVal -> IO JSVal
getProp_ffi = Text -> JSVal -> IO JSVal
forall a. HasCallStack => a
undefined
setProp_ffi :: Text -> JSVal -> JSVal -> IO ()
setProp_ffi :: Text -> JSVal -> JSVal -> IO ()
setProp_ffi = Text -> JSVal -> JSVal -> IO ()
forall a. HasCallStack => a
undefined
setField_ffi :: JSVal -> Text -> JSVal -> IO ()
setField_ffi :: JSVal -> Text -> JSVal -> IO ()
setField_ffi = JSVal -> Text -> JSVal -> IO ()
forall a. HasCallStack => a
undefined
fromJSVal_Int :: JSVal -> IO (Maybe Int)
fromJSVal_Int :: JSVal -> IO (Maybe Int)
fromJSVal_Int = JSVal -> IO (Maybe Int)
forall a. HasCallStack => a
undefined
fromJSVal_Double :: JSVal -> IO (Maybe Double)
fromJSVal_Double :: JSVal -> IO (Maybe Double)
fromJSVal_Double = JSVal -> IO (Maybe Double)
forall a. HasCallStack => a
undefined
getPropIndex_ffi :: Int -> JSVal -> IO JSVal
getPropIndex_ffi :: Int -> JSVal -> IO JSVal
getPropIndex_ffi = Int -> JSVal -> IO JSVal
forall a. HasCallStack => a
undefined
isNull_ffi :: JSVal -> Bool
isNull_ffi :: JSVal -> Bool
isNull_ffi = JSVal -> Bool
forall a. HasCallStack => a
undefined
isUndefined_ffi :: JSVal -> Bool
isUndefined_ffi :: JSVal -> Bool
isUndefined_ffi = JSVal -> Bool
forall a. HasCallStack => a
undefined
freeFunction_ffi :: JSVal -> IO ()
freeFunction_ffi :: JSVal -> IO ()
freeFunction_ffi = JSVal -> IO ()
forall a. HasCallStack => a
undefined
freeJSVal_ffi :: JSVal -> IO ()
freeJSVal_ffi :: JSVal -> IO ()
freeJSVal_ffi JSVal
_ = () -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ()
requestAnimationFrame :: JSVal -> IO Int
requestAnimationFrame :: JSVal -> IO Int
requestAnimationFrame = JSVal -> IO Int
forall a. HasCallStack => a
undefined
now_ffi :: IO Double
now_ffi :: IO Double
now_ffi = IO Double
forall a. HasCallStack => a
undefined
cancelAnimationFrame :: Int -> IO ()
cancelAnimationFrame :: Int -> IO ()
cancelAnimationFrame = Int -> IO ()
forall a. HasCallStack => a
undefined
toJSVal_JSString :: Text -> IO JSVal
toJSVal_JSString :: Text -> IO JSVal
toJSVal_JSString = Text -> IO JSVal
forall a. HasCallStack => a
undefined
fromJSValUnchecked_Maybe :: JSVal -> IO (Maybe JSVal)
fromJSValUnchecked_Maybe :: JSVal -> IO (Maybe JSVal)
fromJSValUnchecked_Maybe = JSVal -> IO (Maybe JSVal)
forall a. HasCallStack => a
undefined
fromJSVal_Maybe :: JSVal -> IO (Maybe (Maybe JSVal))
fromJSVal_Maybe :: JSVal -> IO (Maybe (Maybe JSVal))
fromJSVal_Maybe = JSVal -> IO (Maybe (Maybe JSVal))
forall a. HasCallStack => a
undefined
fromJSValUnchecked_Bool :: JSVal -> IO Bool
fromJSValUnchecked_Bool :: JSVal -> IO Bool
fromJSValUnchecked_Bool = JSVal -> IO Bool
forall a. HasCallStack => a
undefined
invokeFunction :: JSVal -> JSVal -> JSVal -> IO JSVal
invokeFunction :: JSVal -> JSVal -> JSVal -> IO JSVal
invokeFunction = JSVal -> JSVal -> JSVal -> IO JSVal
forall a. HasCallStack => a
undefined
listProps_ffi :: JSVal -> IO JSVal
listProps_ffi :: JSVal -> IO JSVal
listProps_ffi = JSVal -> IO JSVal
forall a. HasCallStack => a
undefined
setPropIndex_ffi :: Int -> JSVal -> JSVal -> IO ()
setPropIndex_ffi :: Int -> JSVal -> JSVal -> IO ()
setPropIndex_ffi = Int -> JSVal -> JSVal -> IO ()
forall a. HasCallStack => a
undefined
global :: JSVal
global :: JSVal
global = JSVal
forall a. HasCallStack => a
undefined
fromJSVal_List :: JSVal -> IO (Maybe [JSVal])
fromJSVal_List :: JSVal -> IO (Maybe [JSVal])
fromJSVal_List = JSVal -> IO (Maybe [JSVal])
forall a. HasCallStack => a
undefined
fromJSValUnchecked_Int :: JSVal -> IO Int
fromJSValUnchecked_Int :: JSVal -> IO Int
fromJSValUnchecked_Int = JSVal -> IO Int
forall a. HasCallStack => a
undefined
fromJSValUnchecked_Double :: JSVal -> IO Double
fromJSValUnchecked_Double :: JSVal -> IO Double
fromJSValUnchecked_Double = JSVal -> IO Double
forall a. HasCallStack => a
undefined
fromJSVal_JSString :: JSVal -> IO (Maybe Text)
fromJSVal_JSString :: JSVal -> IO (Maybe Text)
fromJSVal_JSString = JSVal -> IO (Maybe Text)
forall a. HasCallStack => a
undefined
await :: JSVal -> IO JSVal
await :: JSVal -> IO JSVal
await = JSVal -> IO JSVal
forall a. HasCallStack => a
undefined
asyncCallback :: IO () -> IO JSVal
asyncCallback :: IO () -> IO JSVal
asyncCallback = IO () -> IO JSVal
forall a. HasCallStack => a
undefined
asyncCallback1 :: (JSVal -> IO ()) -> IO JSVal
asyncCallback1 :: (JSVal -> IO ()) -> IO JSVal
asyncCallback1 = (JSVal -> IO ()) -> IO JSVal
forall a. HasCallStack => a
undefined
asyncCallback2 :: (JSVal -> JSVal -> IO ()) -> IO JSVal
asyncCallback2 :: (JSVal -> JSVal -> IO ()) -> IO JSVal
asyncCallback2 = (JSVal -> JSVal -> IO ()) -> IO JSVal
forall a. HasCallStack => a
undefined
asyncCallback3 :: (JSVal -> JSVal -> JSVal -> IO ()) -> IO JSVal
asyncCallback3 :: (JSVal -> JSVal -> JSVal -> IO ()) -> IO JSVal
asyncCallback3 = (JSVal -> JSVal -> JSVal -> IO ()) -> IO JSVal
forall a. HasCallStack => a
undefined
syncCallback :: IO () -> IO JSVal
syncCallback :: IO () -> IO JSVal
syncCallback = IO () -> IO JSVal
forall a. HasCallStack => a
undefined
syncCallback1 :: (JSVal -> IO ()) -> IO JSVal
syncCallback1 :: (JSVal -> IO ()) -> IO JSVal
syncCallback1 = (JSVal -> IO ()) -> IO JSVal
forall a. HasCallStack => a
undefined
syncCallback2 :: (JSVal -> JSVal -> IO ()) -> IO JSVal
syncCallback2 :: (JSVal -> JSVal -> IO ()) -> IO JSVal
syncCallback2 = (JSVal -> JSVal -> IO ()) -> IO JSVal
forall a. HasCallStack => a
undefined
syncCallback3 :: (JSVal -> JSVal -> JSVal -> IO ()) -> IO JSVal
syncCallback3 :: (JSVal -> JSVal -> JSVal -> IO ()) -> IO JSVal
syncCallback3 = (JSVal -> JSVal -> JSVal -> IO ()) -> IO JSVal
forall a. HasCallStack => a
undefined
syncCallback' :: IO JSVal -> IO JSVal
syncCallback' :: IO JSVal -> IO JSVal
syncCallback' = IO JSVal -> IO JSVal
forall a. HasCallStack => a
undefined
syncCallback1' :: (JSVal -> IO JSVal) -> IO JSVal
syncCallback1' :: (JSVal -> IO JSVal) -> IO JSVal
syncCallback1' = (JSVal -> IO JSVal) -> IO JSVal
forall a. HasCallStack => a
undefined
syncCallback2' :: (JSVal -> JSVal -> IO JSVal) -> IO JSVal
syncCallback2' :: (JSVal -> JSVal -> IO JSVal) -> IO JSVal
syncCallback2' = (JSVal -> JSVal -> IO JSVal) -> IO JSVal
forall a. HasCallStack => a
undefined
syncCallback3' :: (JSVal -> JSVal -> JSVal -> IO JSVal) -> IO JSVal
syncCallback3' :: (JSVal -> JSVal -> JSVal -> IO JSVal) -> IO JSVal
syncCallback3' = (JSVal -> JSVal -> JSVal -> IO JSVal) -> IO JSVal
forall a. HasCallStack => a
undefined
parseInt :: Text -> Maybe Int
parseInt :: Text -> Maybe Int
parseInt = String -> Maybe Int
forall a. Read a => String -> Maybe a
readMaybe (String -> Maybe Int) -> (Text -> String) -> Text -> Maybe Int
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> String
unpack
parseDouble :: Text -> Maybe Double
parseDouble :: Text -> Maybe Double
parseDouble = String -> Maybe Double
forall a. Read a => String -> Maybe a
readMaybe (String -> Maybe Double)
-> (Text -> String) -> Text -> Maybe Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> String
unpack
parseWord :: Text -> Maybe Word
parseWord :: Text -> Maybe Word
parseWord = String -> Maybe Word
forall a. Read a => String -> Maybe a
readMaybe (String -> Maybe Word) -> (Text -> String) -> Text -> Maybe Word
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> String
unpack
parseFloat :: Text -> Maybe Float
parseFloat :: Text -> Maybe Float
parseFloat = String -> Maybe Float
forall a. Read a => String -> Maybe a
readMaybe (String -> Maybe Float) -> (Text -> String) -> Text -> Maybe Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> String
unpack
toString_Int :: Int -> Text
toString_Int :: Int -> Text
toString_Int = LazyText -> Text
TL.toStrict (LazyText -> Text) -> (Int -> LazyText) -> Int -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Builder -> LazyText
TB.toLazyText (Builder -> LazyText) -> (Int -> Builder) -> Int -> LazyText
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Builder
forall a. Integral a => a -> Builder
TBI.decimal
toString_Word :: Word -> Text
toString_Word :: Word -> Text
toString_Word = LazyText -> Text
TL.toStrict (LazyText -> Text) -> (Word -> LazyText) -> Word -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Builder -> LazyText
TB.toLazyText (Builder -> LazyText) -> (Word -> Builder) -> Word -> LazyText
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word -> Builder
forall a. Integral a => a -> Builder
TBI.decimal
toString_Float :: Float -> Text
toString_Float :: Float -> Text
toString_Float = LazyText -> Text
TL.toStrict (LazyText -> Text) -> (Float -> LazyText) -> Float -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Builder -> LazyText
TB.toLazyText (Builder -> LazyText) -> (Float -> Builder) -> Float -> LazyText
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Float -> Builder
forall a. RealFloat a => a -> Builder
TBR.realFloat
toString_Double :: Double -> Text
toString_Double :: Double -> Text
toString_Double = LazyText -> Text
TL.toStrict (LazyText -> Text) -> (Double -> LazyText) -> Double -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Builder -> LazyText
TB.toLazyText (Builder -> LazyText) -> (Double -> Builder) -> Double -> LazyText
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Double -> Builder
forall a. RealFloat a => a -> Builder
TBR.realFloat