packages feed

miso 1.8.4.0 → 1.8.5.0

raw patch · 3 files changed

+22/−8 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Miso: sink :: Sink action

Files

README.md view
@@ -229,7 +229,7 @@   - [Link](http://fizruk.github.io/fpconf-2017-talk/miso-aframe-demo/dist/demo.jsexe/index.html) / [Source](https://github.com/fizruk/miso-aframe)  ### Pixel Card Wars-  - [Link](https://www.schplaf.org/hgames/darkcraw/) / [Source](https://github.com/smelc/miso-darkcraw)+  - [Link](https://smelc3.itch.io/pixel-card-wars) / [Source](https://github.com/smelc/miso-darkcraw)  ### Currency Converter   - [Link](https://functora.github.io/apps/currency-converter) / [Source](https://github.com/functora/functora.github.io/tree/master/ghcjs/currency-converter)@@ -442,7 +442,7 @@  ## Pinning nixpkgs -By default `miso` uses a known-to-work, pinned version of [`nixpkgs`](https://github.com/dmjio/miso/blob/master/nixpkgs.json).+By default `miso` uses a known-to-work, pinned version of [`nixpkgs`](https://github.com/dmjio/miso/blob/master/nix/nixpkgs.json).  ## Binary cache 
miso.cabal view
@@ -1,5 +1,5 @@ name:                miso-version:             1.8.4.0+version:             1.8.5.0 category:            Web, Miso, Data Structures license:             BSD3 license-file:        LICENSE
src/Miso.hs view
@@ -22,6 +22,7 @@ module Miso   ( miso   , startApp+  , sink   , module Miso.Effect   , module Miso.Event   , module Miso.Html@@ -41,17 +42,18 @@ import           Control.Monad.IO.Class import           Data.IORef import           Data.List-import           Data.Sequence ((|>))+import           Data.Sequence                 ((|>))+import qualified Data.Sequence                 as S+import qualified JavaScript.Object.Internal    as OI+import           System.IO.Unsafe import           System.Mem.StableName-import qualified Data.Sequence as S-import qualified JavaScript.Object.Internal as OI  #ifndef ghcjs_HOST_OS-import           Language.Javascript.JSaddle (eval, waitForAnimationFrame)+import           Language.Javascript.JSaddle   (eval, waitForAnimationFrame) #ifdef IOS import           Miso.JSBits #else-import           GHCJS.Types (JSString)+import           GHCJS.Types                   (JSString) import           Data.FileEmbed #endif #else@@ -99,6 +101,8 @@   let writeEvent a = void . liftIO . forkIO $ do         atomicModifyIORef' actionsRef $ \as -> (as |> a, ())         notify+  -- init global sink+  liftIO (writeIORef sinkRef writeEvent)   -- init Subs   forM_ subs $ \sub ->     sub writeEvent@@ -151,6 +155,16 @@     let initialVTree = VTree (OI.Object iv)     -- Create virtual dom, perform initial diff     liftIO (newIORef initialVTree)++sinkRef :: IORef (Sink action)+{-# NOINLINE sinkRef #-}+sinkRef = unsafePerformIO $ newIORef (\_ -> pure ())++-- | Global sink exposed as a backdoor+-- Meant for usage in long running IO actions, or custom callbacks+-- Good for integrating with third-party components.+sink :: Sink action+sink = unsafePerformIO (readIORef sinkRef)  -- | Runs a miso application startApp :: Eq model => App model action -> JSM ()