Skip to content

Commit f77273a

Browse files
authored
Merge pull request #18 from garyb/halogen-update
Update halogen dependency
2 parents d4c2081 + 75cfd0c commit f77273a

File tree

2 files changed

+2
-28
lines changed

2 files changed

+2
-28
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
],
2929
"dependencies": {
3030
"purescript-ace": "^1.0.0",
31-
"purescript-halogen": "^0.9.0",
31+
"purescript-halogen": "^0.10.0",
3232
"purescript-now": "^1.0.0",
3333
"purescript-random": "^1.0.0",
3434
"purescript-refs": "^1.0.0"

src/Ace/Halogen/Component.purs

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,15 @@ module Ace.Halogen.Component
1111

1212
import Prelude
1313

14-
import Control.Coroutine (Producer)
15-
import Control.Coroutine.Aff as CCA
16-
import Control.Coroutine.Stalling as SCR
1714
import Control.Monad.Aff (Aff, runAff)
1815
import Control.Monad.Aff.AVar (AVAR)
1916
import Control.Monad.Aff.Free (class Affable)
2017
import Control.Monad.Eff (Eff)
2118
import Control.Monad.Eff.Now (NOW, now)
2219
import Control.Monad.Eff.Random (random, RANDOM)
2320
import Control.Monad.Eff.Ref (Ref, REF, readRef, writeRef, modifyRef)
24-
import Control.Monad.Free.Trans (hoistFreeT)
2521

2622
import Data.DateTime.Instant (unInstant)
27-
import Data.Either (Either(..))
2823
import Data.Foldable (traverse_)
2924
import Data.Maybe (Maybe(..), maybe)
3025
import Data.StrMap (StrMap)
@@ -44,7 +39,6 @@ import DOM.HTML.Types (HTMLElement)
4439
import Halogen as H
4540
import Halogen.HTML.Indexed as HH
4641
import Halogen.HTML.Properties.Indexed as HP
47-
import Halogen.Query.EventSource as HES
4842

4943
-- | Effectful knot of autocomplete functions. It's needed because
5044
-- | `languageTools.addCompleter` is global and adds completer to
@@ -215,7 +209,7 @@ eval setup resume = case _ of
215209
setAutocompleteResume resume editor
216210
Editor.onFocus editor $ writeRef focused key
217211
session <- H.fromEff $ Editor.getSession editor
218-
H.subscribe $ eventSource_ (Session.onChange session) do
212+
H.subscribe $ H.eventSource_ (Session.onChange session) do
219213
pure $ H.action TextChanged
220214
H.liftH $ setup editor
221215
pure next
@@ -255,26 +249,6 @@ eval setup resume = case _ of
255249

256250
TextChanged next -> pure next
257251

258-
-- TODO: when Halogen's eventSource_ / produce is fixed to use Affable rather
259-
-- than MonadAff, these can be removed.
260-
eventSource_
261-
:: forall eff f g
262-
. (Monad g, Affable (avar :: AVAR | eff) g)
263-
=> (Eff (avar :: AVAR | eff) Unit -> Eff (avar :: AVAR | eff) Unit)
264-
-> Eff (avar :: AVAR | eff) (f Unit)
265-
-> HES.EventSource f g
266-
eventSource_ attach handle =
267-
HES.EventSource $
268-
SCR.producerToStallingProducer $ produce \emit ->
269-
attach (emit <<< Left =<< handle)
270-
271-
produce
272-
:: forall a r m eff
273-
. (Functor m, Affable (avar :: AVAR | eff) m)
274-
=> ((Either a r -> Eff (avar :: AVAR | eff) Unit) -> Eff (avar :: AVAR | eff) Unit)
275-
-> Producer a m r
276-
produce = hoistFreeT H.fromAff <<< CCA.produce
277-
278252
-- | A convenience function for creating a `SlotConstructor` for an Ace
279253
-- | component.
280254
aceConstructor

0 commit comments

Comments
 (0)