@@ -21,7 +21,6 @@ module Language.Elm.Quasi
21 , elmFileReload
21 , elmFileReload
23 -- * Datatypes
23 -- * Datatypes
25 , Elm (..)
24 , Elm (..)
27 -- * Typeclass for interpolated variables
26 -- * Typeclass for interpolated variables
@@ -29,7 +28,6 @@ module Language.Elm.Quasi
30 -- ** Rendering Functions
29 -- ** Rendering Functions
31 , renderElm
30 , renderElm
@@ -45,23 +43,10 @@ import Text.Shakespeare
45renderElm :: Elm -> TL.Text
43renderElm :: Elm -> TL.Text
46renderElm (Elm b) = toLazyText b
44renderElm (Elm b) = toLazyText b
48−-- | render with route interpolation. If using this module standalone, apart
49−-- from type-safe routes, a dummy renderer can be used:
51−-- > renderElmUrl (\_ _ -> undefined) elmUrl
53−-- When using Yesod, a renderer is generated for you, which can be accessed
54−-- within the GHandler monad: 'Yesod.Handler.getUrlRenderParams'.
55−renderElmUrl :: (url -> [(TS.Text, TS.Text)] -> TS.Text) -> ElmUrl url -> TL.Text
56−renderElmUrl r s = renderElm $ s r
58-- | Newtype wrapper of 'Builder'.
46-- | Newtype wrapper of 'Builder'.
59newtype Elm = Elm { unElm :: Builder }
47newtype Elm = Elm { unElm :: Builder }
60 deriving Monoid
48 deriving Monoid
62−-- | Return type of template-reading functions.
63−type ElmUrl url = (url -> [(TS.Text, TS.Text)] -> TS.Text) -> Elm
65-- | A typeclass for types that can be interpolated in CoffeeScript templates.
50-- | A typeclass for types that can be interpolated in CoffeeScript templates.
66class ToElm a where
51class ToElm a where
67 toElm :: a -> Builder
52 toElm :: a -> Builder