{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE JavaScriptFFI #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
module GHCJS.DOM.JSFFI.Generated.ScriptProfileNode
       (js_children, children, children_, js_getId, getId,
        js_getFunctionName, getFunctionName, js_getUrl, getUrl,
        js_getLineNumber, getLineNumber, js_getColumnNumber,
        getColumnNumber, ScriptProfileNode(..), gTypeScriptProfileNode)
       where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord)
import qualified Prelude (error)
import Data.Typeable (Typeable)
import GHCJS.Types (JSVal(..), JSString)
import GHCJS.Foreign (jsNull)
import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..))
import GHCJS.Marshal (ToJSVal(..), FromJSVal(..))
import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..))
import Control.Monad (void)
import Control.Monad.IO.Class (MonadIO(..))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import Data.Maybe (fromJust)
import GHCJS.DOM.Types
import Control.Applicative ((<$>))
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName)
import GHCJS.DOM.JSFFI.Generated.Enums
 
foreign import javascript unsafe "$1[\"children\"]()" js_children
        :: ScriptProfileNode -> IO JSVal

-- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.children Mozilla ScriptProfileNode.children documentation> 
children ::
         (MonadIO m) => ScriptProfileNode -> m [Maybe ScriptProfileNode]
children self
  = liftIO ((js_children (self)) >>= fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.children Mozilla ScriptProfileNode.children documentation> 
children_ :: (MonadIO m) => ScriptProfileNode -> m ()
children_ self = liftIO (void (js_children (self)))
 
foreign import javascript unsafe "$1[\"id\"]" js_getId ::
        ScriptProfileNode -> IO Word

-- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.id Mozilla ScriptProfileNode.id documentation> 
getId :: (MonadIO m) => ScriptProfileNode -> m Word
getId self = liftIO (js_getId (self))
 
foreign import javascript unsafe "$1[\"functionName\"]"
        js_getFunctionName :: ScriptProfileNode -> IO JSString

-- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.functionName Mozilla ScriptProfileNode.functionName documentation> 
getFunctionName ::
                (MonadIO m, FromJSString result) => ScriptProfileNode -> m result
getFunctionName self
  = liftIO (fromJSString <$> (js_getFunctionName (self)))
 
foreign import javascript unsafe "$1[\"url\"]" js_getUrl ::
        ScriptProfileNode -> IO JSString

-- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.url Mozilla ScriptProfileNode.url documentation> 
getUrl ::
       (MonadIO m, FromJSString result) => ScriptProfileNode -> m result
getUrl self = liftIO (fromJSString <$> (js_getUrl (self)))
 
foreign import javascript unsafe "$1[\"lineNumber\"]"
        js_getLineNumber :: ScriptProfileNode -> IO Word

-- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.lineNumber Mozilla ScriptProfileNode.lineNumber documentation> 
getLineNumber :: (MonadIO m) => ScriptProfileNode -> m Word
getLineNumber self = liftIO (js_getLineNumber (self))
 
foreign import javascript unsafe "$1[\"columnNumber\"]"
        js_getColumnNumber :: ScriptProfileNode -> IO Word

-- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.columnNumber Mozilla ScriptProfileNode.columnNumber documentation> 
getColumnNumber :: (MonadIO m) => ScriptProfileNode -> m Word
getColumnNumber self = liftIO (js_getColumnNumber (self))