packages feed

ghcjs-perch 0.3.3.2 → 0.3.3.3

raw patch · 4 files changed

+33/−3 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- GHCJS.Perch: withPerch :: (Elem -> IO a) -> Elem -> IO Elem
- GHCJS.Perch: withPerchBuild :: PerchM a -> (Elem -> IO b) -> Elem -> IO Elem
+ GHCJS.Perch: mappendt :: () => PerchM a1 -> PerchM a2 -> PerchM a3
+ GHCJS.Perch: nelemNS :: JSString -> JSString -> Perch
+ GHCJS.Perch: newElemNS :: JSString -> JSString -> IO Elem
- GHCJS.Perch: addEvent :: (NamedEvent e) => Perch -> e -> Callback (JSVal -> IO ()) -> Perch
+ GHCJS.Perch: addEvent :: NamedEvent e => Perch -> e -> Callback (JSVal -> IO ()) -> Perch
- GHCJS.Perch: addEvent' :: (NamedEvent e) => Perch -> e -> (JSVal -> IO ()) -> Perch
+ GHCJS.Perch: addEvent' :: NamedEvent e => Perch -> e -> (JSVal -> IO ()) -> Perch
- GHCJS.Perch: ctag :: (ToElem b) => JSString -> b -> Perch
+ GHCJS.Perch: ctag :: ToElem b => JSString -> b -> Perch
- GHCJS.Perch: pack :: a
+ GHCJS.Perch: pack :: () => a
- GHCJS.Perch: remEvent :: (NamedEvent e) => Perch -> e -> Callback (JSVal -> IO ()) -> Perch
+ GHCJS.Perch: remEvent :: NamedEvent e => Perch -> e -> Callback (JSVal -> IO ()) -> Perch

Files

ghcjs-perch.cabal view
@@ -3,7 +3,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.3.3.2+version:             0.3.3.3  synopsis:            GHCJS version of Perch library. 
src/Internal/API.hs view
@@ -42,6 +42,13 @@ newElem = notImplemented #endif +newElemNS :: JSString -> JSString -> IO Elem+#ifdef ghcjs_HOST_OS+newElemNS ns e  = Elem <$> js_documentCreateNodeNS ns e+#else+newElemNS = notImplemented+#endif+ newTextElem :: JSString -> IO Elem #ifdef ghcjs_HOST_OS newTextElem = (Elem <$>) . js_createTextNode
src/Internal/FFI.hs view
@@ -28,6 +28,9 @@ foreign import javascript unsafe "document.createElement($1)"   js_documentCreateNode :: JSString -> IO JSVal +foreign import javascript unsafe "document.createElementNS($1,$2)"+  js_documentCreateNodeNS ::  JSString -> JSString -> IO JSVal+ foreign import javascript unsafe "document.createTextNode($1)"   js_createTextNode :: JSString -> IO JSVal 
src/Internal/Perch.hs view
@@ -46,11 +46,23 @@  -------------------------------------------------------------------------------- instance Monoid (PerchM a) where-  mappend mx my = Perch . withPerch $ \e ->+  mempty = Perch return+  +#if MIN_VERSION_base(4,11,0) +  mappend  = (<>) ++instance  Semigroup (PerchM a) where+  (<>)=  mappendt++#else+  mappend= mappendt+#endif++mappendt mx my = Perch . withPerch $ \e ->     do build mx e        build my e-  mempty = Perch return + instance Functor PerchM  instance Applicative PerchM@@ -98,9 +110,17 @@ attr :: forall a. PerchM a -> (PropId, JSString) -> PerchM a attr tag (n, v) = Perch $ withPerchBuild tag (\t -> setAttr t n v) +-- | Create a new elemet nelem :: JSString -> Perch nelem s = Perch $ \x ->   do e <- newElem s+     addChild e x+     return e+     +-- | Create a new element with a namespace`+nelemNS :: JSString -> JSString -> Perch+nelemNS ns s=  Perch $ \x ->+  do e <- newElemNS ns s      addChild e x      return e