packages feed

sparrow 0.0.2.1 → 0.0.2.2

raw patch · 4 files changed

+21/−16 lines, 4 filesdep +purescript-isodep ~attoparsec-uridep ~urlpath

Dependencies added: purescript-iso

Dependency ranges changed: attoparsec-uri, urlpath

Files

sparrow.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: ca194da829dc469ef7c296f3c390fa1b36df83bd6bff4eee9cab731849fe886e+-- hash: 6c306d5812574925b3eb6f92b35d603c4976930dc2a6570a95411888cf3a4523  name:           sparrow-version:        0.0.2.1+version:        0.0.2.2 synopsis:       Unified streaming dependency management for web apps description:    Please see the README on Github at <https://git.localcooking.com/tooling/sparrow#readme> category:       Web@@ -43,7 +43,7 @@     , aeson-attoparsec     , async     , attoparsec-    , attoparsec-uri >=0.0.4+    , attoparsec-uri >=0.0.5.1     , base >=4.7 && <5     , bytestring     , deepseq@@ -61,6 +61,7 @@     , path     , path-extra >=0.2.0     , pred-trie >=0.6.0.1+    , purescript-iso >=0.0.3     , stm     , strict     , text@@ -68,7 +69,7 @@     , tmapmvar >=0.0.4     , transformers     , unordered-containers-    , urlpath >=9.0.0+    , urlpath >=9.0.0.1     , uuid     , wai >=0.12.4     , wai-middleware-content-type >=0.6.1.2
src/Web/Dependencies/Sparrow/Server.hs view
@@ -121,6 +121,7 @@           -- ##  invoke Server           mContinue <- server initIn           case mContinue of+            -- FIXME There's got to be some kind of error type             Nothing -> resp (jsonOnly (InitRejected :: InitResponse ()) status400 [])             Just ServerContinue{serverContinue,serverOnUnsubscribe} -> do 
src/Web/Dependencies/Sparrow/Server/Types.hs view
@@ -87,7 +87,7 @@   TMapChan.insert envSessionsOutgoing  -type RegisteredReceive m = -- STMMap.Map SessionID (STMMap.Map Topic (Value -> Maybe (m ())))+type RegisteredReceive m =   TMapMVar SessionID (TMapMVar Topic (Value -> Maybe (m ())))  @@ -101,8 +101,6 @@       topics <- newTMapMVar       TMapMVar.insert topics topic f       TMapMVar.insert envRegisteredReceive sID topics-      -- ks <- getCurrentRegisteredTopics env sID-      -- putStrLn $ " - unsafeRegisterReceive: Topics...: " ++ show ks     Just topics ->       TMapMVar.insertForce topics topic f 
src/Web/Dependencies/Sparrow/Types.hs view
@@ -13,11 +13,14 @@  import Data.Hashable (Hashable) import Data.Text (Text, intercalate, unpack)+import qualified Data.Text as T import qualified Data.Text.Lazy.Encoding as LT import qualified Data.ByteString.Lazy as LBS import Data.Aeson (ToJSON (..), FromJSON (..), Value (String, Object), (.=), object, (.:)) import Data.Aeson.Types (typeMismatch) import Data.Aeson.Attoparsec (attoAeson)+import Data.Aeson.JSONVoid (JSONVoid)+import Data.String (IsString (..)) import Data.Attoparsec.Text (Parser, takeWhile1, char, sepBy) import Control.Applicative (Alternative (empty), (<|>)) import Control.DeepSeq (NFData)@@ -36,7 +39,9 @@   , serverSendCurrent :: deltaOut -> m ()   } -hoistServerArgs :: (forall a. m a -> n a) -> ServerArgs m deltaOut -> ServerArgs n deltaOut+hoistServerArgs :: (forall a. m a -> n a)+                -> ServerArgs m deltaOut+                -> ServerArgs n deltaOut hoistServerArgs f ServerArgs{..} = ServerArgs   { serverDeltaReject = f serverDeltaReject   , serverSendCurrent = f . serverSendCurrent@@ -160,6 +165,14 @@ newtype Topic = Topic {getTopic :: [Text]}   deriving (Eq, Ord, Generic, Hashable, NFData) +instance IsString Topic where+  fromString x' =+    let loop x = case T.breakOn "/" x of+          (l,r)+            | r == "" -> []+            | otherwise -> l : loop (T.drop 1 r)+    in  Topic $ loop $ T.pack x'+ instance Show Topic where   show (Topic x) = unpack (intercalate "/" x) @@ -187,14 +200,6 @@   -- * JSON Encodings--data JSONVoid--instance ToJSON JSONVoid where-  toJSON _ = String ""--instance FromJSON JSONVoid where-  parseJSON = typeMismatch "JSONVoid"   data WithSessionID a = WithSessionID