jsaddle-0.8.0.0: src-ghc/JavaScript/Object/Internal.hs
module JavaScript.Object.Internal
( Object(..)
, create
-- , allProps
, listProps
, getProp
, unsafeGetProp
, setProp
, unsafeSetProp
-- , isInstanceOf
) where
import Language.Javascript.JSaddle.Types (JSM, JSVal, Object(..), JSString)
import Language.Javascript.JSaddle.Native.Internal
(newEmptyObject, propertyNames, getPropertyByName, setPropertyByName)
-- | create an empty object
create :: JSM Object
create = newEmptyObject
{-# INLINE create #-}
--allProps :: Object -> JSM JSArray
--allProps o = js_allProps o
--{-# INLINE allProps #-}
listProps :: Object -> JSM [JSString]
listProps = propertyNames
{-# INLINE listProps #-}
{- | get a property from an object. If accessing the property results in
an exception, the exception is converted to a JSException. Since exception
handling code prevents some optimizations in some JS engines, you may want
to use unsafeGetProp instead
-}
getProp :: JSString -> Object -> JSM JSVal
getProp = unsafeGetProp
{-# INLINE getProp #-}
unsafeGetProp :: JSString -> Object -> JSM JSVal
unsafeGetProp = getPropertyByName
{-# INLINE unsafeGetProp #-}
setProp :: JSString -> JSVal -> Object -> JSM ()
setProp = unsafeSetProp
{-# INLINE setProp #-}
unsafeSetProp :: JSString -> JSVal -> Object -> JSM ()
unsafeSetProp = setPropertyByName
{-# INLINE unsafeSetProp #-}
--isInstanceOf :: Object -> JSVal -> GHCJSPure Bool
--isInstanceOf o s = js_isInstanceOf o s
--{-# INLINE isInstanceOf #-}