packages feed

yesod-fay 0.8.0 → 0.9.0

raw patch · 3 files changed

+28/−15 lines, 3 filesdep ~yesod-coredep ~yesod-formdep ~yesod-staticPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: yesod-core, yesod-form, yesod-static

API changes (from Hackage documentation)

- Fay.Yesod: instance Data a => Data (Returns a)
- Fay.Yesod: instance Eq (Returns a)
- Fay.Yesod: instance Read (Returns a)
- Fay.Yesod: instance Show (Returns a)
- Fay.Yesod: instance Typeable Returns
- Yesod.Fay: instance YesodFay master => YesodSubDispatch FaySite (HandlerT master IO)
- Yesod.Fay: yfsExternal :: YesodFaySettings -> Maybe (FilePath, Exp)
- Yesod.Fay: yfsModuleName :: YesodFaySettings -> String
- Yesod.Fay: yfsPackages :: YesodFaySettings -> [String]
- Yesod.Fay: yfsPostProcess :: YesodFaySettings -> String -> IO String
- Yesod.Fay: yfsRequireJQuery :: YesodFaySettings -> Bool
- Yesod.Fay: yfsSeparateRuntime :: YesodFaySettings -> Maybe (FilePath, Exp)
- Yesod.Fay: yfsTypecheckDevel :: YesodFaySettings -> Bool
+ Fay.Yesod: instance Data.Data.Data a => Data.Data.Data (Fay.Yesod.Returns a)
+ Fay.Yesod: instance GHC.Classes.Eq (Fay.Yesod.Returns a)
+ Fay.Yesod: instance GHC.Read.Read (Fay.Yesod.Returns a)
+ Fay.Yesod: instance GHC.Show.Show (Fay.Yesod.Returns a)
+ Yesod.Fay: [yfsExternal] :: YesodFaySettings -> Maybe (FilePath, Exp)
+ Yesod.Fay: [yfsModuleName] :: YesodFaySettings -> String
+ Yesod.Fay: [yfsPackages] :: YesodFaySettings -> [String]
+ Yesod.Fay: [yfsPostProcess] :: YesodFaySettings -> String -> IO String
+ Yesod.Fay: [yfsRequireJQuery] :: YesodFaySettings -> Bool
+ Yesod.Fay: [yfsSeparateRuntime] :: YesodFaySettings -> Maybe (FilePath, Exp)
+ Yesod.Fay: [yfsTypecheckDevel] :: YesodFaySettings -> Bool
+ Yesod.Fay: instance Yesod.Fay.YesodFay master => Yesod.Core.Class.Dispatch.YesodSubDispatch Yesod.Fay.Data.FaySite master
- Yesod.Fay: YesodFaySettings :: String -> Maybe (FilePath, Exp) -> (String -> IO String) -> Maybe (FilePath, Exp) -> Bool -> [String] -> Bool -> YesodFaySettings
+ Yesod.Fay: YesodFaySettings :: String -> Maybe (FilePath, Exp) -> String -> IO String -> Maybe (FilePath, Exp) -> Bool -> [String] -> Bool -> YesodFaySettings
- Yesod.Fay: class YesodJquery master => YesodFay master where fayEncode = const showToFay
+ Yesod.Fay: class YesodJquery master => YesodFay master
- Yesod.Fay: fayEncode :: (YesodFay master, Data a) => master -> a -> Maybe Value
+ Yesod.Fay: fayEncode :: (YesodFay master, (Data a)) => master -> a -> Maybe Value
- Yesod.Fay: type CommandHandler master = forall s. (forall a. Data a => Returns a -> a -> HandlerT master IO s) -> Value -> HandlerT master IO s
+ Yesod.Fay: type CommandHandler master = forall s. (forall a. (Data a) => Returns a -> a -> HandlerFor master s) -> Value -> HandlerFor master s
- Yesod.Fay: urlJqueryJs :: YesodJquery a => a -> Either (Route a) Text
+ Yesod.Fay: urlJqueryJs :: YesodJquery a => a -> Either Route a Text
- Yesod.Fay: urlJqueryUiCss :: YesodJquery a => a -> Either (Route a) Text
+ Yesod.Fay: urlJqueryUiCss :: YesodJquery a => a -> Either Route a Text
- Yesod.Fay: urlJqueryUiDateTimePicker :: YesodJquery a => a -> Either (Route a) Text
+ Yesod.Fay: urlJqueryUiDateTimePicker :: YesodJquery a => a -> Either Route a Text
- Yesod.Fay: urlJqueryUiJs :: YesodJquery a => a -> Either (Route a) Text
+ Yesod.Fay: urlJqueryUiJs :: YesodJquery a => a -> Either Route a Text

Files

ChangeLog.md view
@@ -1,3 +1,9 @@+# Changelog for yesod-fay++## 0.9.0++* Support for Yesod 1.6 [#20](https://github.com/fpco/yesod-fay/issues/20)+ ## 0.8.0  * Drop system-filepath
Yesod/Fay.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE CPP #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE FlexibleInstances     #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -86,6 +87,7 @@ import           Control.Applicative import           Data.Aeson                 (decode) import qualified Data.ByteString.Lazy       as L+import qualified Data.ByteString.Lazy.Char8 as LC import qualified Data.ByteString.Lazy.UTF8  as BSU import           Data.Data                  (Data) #if !MIN_VERSION_fay(0,20,0)@@ -104,7 +106,7 @@ import           Data.Text.Lazy.Builder     (fromText, toLazyText, Builder) import           System.Directory           (createDirectoryIfMissing, doesFileExist) import           System.FilePath            (takeDirectory)-import           Fay                        (getRuntime, showCompileError)+import           Fay                        (readConfigRuntime, defaultConfig, showCompileError) import           Fay.Convert                (showToFay) #if MIN_VERSION_fay(0,20,0) import           Fay                        (Config(..),@@ -192,9 +194,9 @@ -- and produces the expected result. type CommandHandler master     = forall s.-      (forall a. (Data a) => Returns a -> a -> HandlerT master IO s)+      (forall a. (Data a) => Returns a -> a -> HandlerFor master s)    -> Value-   -> HandlerT master IO s+   -> HandlerFor master s  -- | A setttings data type for indicating whether the generated Javascript -- should contain a copy of the Fay runtime or not.@@ -225,24 +227,29 @@     , yfsTypecheckDevel = False     } +-- | Read runtime from default Fay config.+getRuntime :: IO L.ByteString+getRuntime = readConfigRuntime defaultConfig >>= return . LC.pack+ updateRuntime :: FilePath -> IO ()-updateRuntime fp = getRuntime >>= \js -> createDirectoryIfMissing True (takeDirectory fp) >> copyFile js fp+updateRuntime fp = getRuntime >>= \js ->+  createDirectoryIfMissing True (takeDirectory fp) >> L.writeFile fp js -instance YesodFay master => YesodSubDispatch FaySite (HandlerT master IO) where+instance YesodFay master => YesodSubDispatch FaySite master where     yesodSubDispatch = $(mkYesodSubDispatch resourcesFaySite)  -- | To be used from your routing declarations. getFaySite :: a -> FaySite getFaySite _ = FaySite -postFayCommandR :: forall master. YesodFay master => HandlerT FaySite (HandlerT master IO) Value+postFayCommandR :: forall master. YesodFay master => SubHandlerFor FaySite master Value postFayCommandR =-    lift $ runCommandHandler yesodFayCommand+    liftHandler $ runCommandHandler yesodFayCommand   where     -- | Run a command handler. This provides server-side responses to Fay queries.     runCommandHandler :: YesodFay master                       => CommandHandler master-                      -> HandlerT master IO Value+                      -> HandlerFor master Value     runCommandHandler f = do         mtxt <- lookupPostParam "json"         case mtxt of@@ -272,10 +279,10 @@         createDirectoryIfMissing True $ takeDirectory fp         writeFile fp content -maybeRequireJQuery :: YesodFay master => Bool -> WidgetT master IO ()+maybeRequireJQuery :: YesodFay master => Bool -> WidgetFor master () maybeRequireJQuery needJQuery = when needJQuery requireJQuery -requireJQuery :: YesodFay master => WidgetT master IO ()+requireJQuery :: YesodFay master => WidgetFor master () requireJQuery = do     master <- getYesod     addScriptEither $ urlJqueryJs master@@ -294,7 +301,7 @@     case yfsSeparateRuntime settings of         Nothing -> [| return () |]         Just (_, exp') -> do-            hash <- qRunIO $ getRuntime >>= fmap base64md5 . L.readFile+            hash <- qRunIO $ getRuntime >>= return . base64md5             [| addScript ($(return exp') (StaticRoute ["fay-runtime.js"] [(T.pack hash, "")])) |]  -- | A function that takes a String giving the Fay module name, and returns an
yesod-fay.cabal view
@@ -1,5 +1,5 @@ name:                yesod-fay-version:             0.8.0+version:             0.9.0 synopsis:            Utilities for using the Fay Haskell-to-JS compiler with Yesod. description:         For initial discussion, see <http://www.yesodweb.com/blog/2012/10/yesod-fay-js>. This is a work-in-progress. homepage:            https://github.com/fpco/yesod-fay@@ -28,9 +28,9 @@                      , template-haskell                      , process                      , shakespeare-                     , yesod-core >= 1.4-                     , yesod-form >= 1.4-                     , yesod-static >= 1.4+                     , yesod-core >= 1.6+                     , yesod-form >= 1.6+                     , yesod-static >= 1.6                      , pureMD5 >= 2.1.2.1                      , utf8-string >= 0.3.7                      , monad-loops >= 0.3.3.0