| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
THREE.Internal
Contents
Synopsis
- type Three = IO
- data Property object field = Property {
- setProperty :: object -> field -> IO ()
- getProperty :: object -> IO field
- newtype ReadOnly object field = ReadOnly (object -> Three field)
- type Method object args return = args -> object -> Three return
- class ToObject object => W object where
- class ToObject object => X object where
- class ToObject object => Y object where
- class ToObject object => Z object where
- (^.) :: GetField field => object -> field object return -> Three return
- (.=) :: Property object field -> field -> object -> Three ()
- (+=) :: forall object field. Num field => Property object field -> field -> object -> Three ()
- (-=) :: forall object field. Num field => Property object field -> field -> object -> Three ()
- (%=) :: Property object field -> (field -> field) -> object -> Three ()
- (*=) :: forall object field. Num field => Property object field -> field -> object -> Three ()
- (!.) :: (ToObject a, ToObject b) => Property a b -> Property b c -> Property a c
- (!..) :: Three field -> (field -> Three result) -> Three result
- property :: (ToObject object, ToJSVal field, FromJSVal field) => MisoString -> Property object field
- method :: forall object return args. (FromJSVal return, ToArgs args, ToObject object) => MisoString -> Method object args return
- readonly :: forall object return. (FromJSVal return, ToObject object) => MisoString -> ReadOnly object return
- optional :: (ToObject object, ToJSVal field, FromJSVal field) => MisoString -> Property object (Maybe field)
- new :: ToArgs args => (JSVal -> con) -> MisoString -> args -> Three con
- class ToJSVal args => Triplet args where
Types
data Property object field Source #
Constructors
| Property | |
Fields
| |
class ToObject object => X object where Source #
Minimal complete definition
Nothing
class ToObject object => Y object where Source #
Minimal complete definition
Nothing
class ToObject object => Z object where Source #
Minimal complete definition
Nothing
Combinators
(+=) :: forall object field. Num field => Property object field -> field -> object -> Three () infixr 4 Source #
(-=) :: forall object field. Num field => Property object field -> field -> object -> Three () infixr 4 Source #
(*=) :: forall object field. Num field => Property object field -> field -> object -> Three () infixr 4 Source #
(!.) :: (ToObject a, ToObject b) => Property a b -> Property b c -> Property a c Source #
This is how we compose Property, can be used for getting and setting fields
object & position .! x .= 100
(!..) :: Three field -> (field -> Three result) -> Three result infixl 1 Source #
This is how we invoke a function
object ^. position !.. setXYZ 1 1 1
property :: (ToObject object, ToJSVal field, FromJSVal field) => MisoString -> Property object field Source #
method :: forall object return args. (FromJSVal return, ToArgs args, ToObject object) => MisoString -> Method object args return Source #
readonly :: forall object return. (FromJSVal return, ToObject object) => MisoString -> ReadOnly object return Source #
optional :: (ToObject object, ToJSVal field, FromJSVal field) => MisoString -> Property object (Maybe field) Source #