Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype JSVal = JSVal JSRef
- newtype MutableJSArray = MutableJSArray JSRef
- newtype Object = Object JSVal
- data JSContextRef = JSContextRef {
- doSendCommand :: Command -> IO Result
- doSendAsyncCommand :: AsyncCommand -> IO ()
- addCallback :: Object -> JSCallAsFunction -> IO ()
- freeCallback :: Object -> IO ()
- nextRef :: TVar JSRef
- newtype JSString = JSString Text
- type Index = Int
- newtype Nullable a = Nullable a
- type JSM = ReaderT JSContextRef IO
- runJSaddle :: MonadIO m => JSContextRef -> JSM a -> m a
- type JSCallAsFunction = JSVal -> JSVal -> [JSVal] -> JSM ()
- newtype JSValueReceived = JSValueReceived JSRef
- newtype JSValueForSend = JSValueForSend JSRef
- newtype JSStringReceived = JSStringReceived Text
- newtype JSStringForSend = JSStringForSend Text
- newtype JSObjectForSend = JSObjectForSend JSValueForSend
- data AsyncCommand
- = FreeRef JSValueForSend
- | SetPropertyByName JSObjectForSend JSStringForSend JSValueForSend
- | SetPropertyAtIndex JSObjectForSend Index JSValueForSend
- | StringToValue JSStringForSend JSValueForSend
- | NumberToValue Double JSValueForSend
- | GetPropertyByName JSObjectForSend JSStringForSend JSValueForSend
- | GetPropertyAtIndex JSObjectForSend Index JSValueForSend
- | CallAsFunction JSObjectForSend JSObjectForSend [JSValueForSend] JSValueForSend
- | CallAsConstructor JSObjectForSend [JSValueForSend] JSValueForSend
- | NewEmptyObject JSValueForSend
- | NewCallback JSValueForSend
- | NewArray [JSValueForSend] JSValueForSend
- | EvaluateScript JSStringForSend JSValueForSend
- data Command
- = DeRefVal JSValueForSend
- | ValueToBool JSValueForSend
- | ValueToNumber JSValueForSend
- | ValueToString JSValueForSend
- | ValueToJSON JSValueForSend
- | IsNull JSValueForSend
- | IsUndefined JSValueForSend
- | StrictEqual JSValueForSend JSValueForSend
- | InstanceOf JSValueForSend JSObjectForSend
- | PropertyNames JSObjectForSend
- | Sync
- data Batch = Batch [AsyncCommand] Command
- data Result
- = DeRefValResult JSRef Text
- | ValueToBoolResult Bool
- | ValueToNumberResult Double
- | ValueToStringResult JSStringReceived
- | ValueToJSONResult JSStringReceived
- | IsNullResult Bool
- | IsUndefinedResult Bool
- | StrictEqualResult Bool
- | InstanceOfResult Bool
- | Callback JSValueReceived JSValueReceived [JSValueReceived]
- | PropertyNamesResult [JSStringReceived]
- | ThrowJSValue JSValueReceived
- | ProtocolError Text
- | SyncResult
Documentation
newtype MutableJSArray Source #
MutableJSArray JSRef |
data JSContextRef Source #
JSContextRef | |
|
type JSM = ReaderT JSContextRef IO Source #
The JSM
monad keeps track of the JavaScript context.
Given a JSM
function and a JSContextRef
you can run the
function like this...
runReaderT jsmFunction javaScriptContext
For an example of how to set up WebKitGTK+ see tests/TestJSaddle.hs
runJSaddle :: MonadIO m => JSContextRef -> JSM a -> m a Source #
type JSCallAsFunction Source #
= JSVal | Function object |
-> JSVal | this |
-> [JSVal] | Function arguments |
-> JSM () | Only () (aka |
Type used for Haskell functions called from JavaScript.
newtype JSValueReceived Source #
JSValueReceived JSRef |
newtype JSValueForSend Source #
JSValueForSend JSRef |
newtype JSStringReceived Source #
newtype JSStringForSend Source #
newtype JSObjectForSend Source #
data AsyncCommand Source #