Utils.purs 709 B

123456789101112131415161718192021222324252627282930
  1. module Browser.Utils
  2. ( UnregisteredListener
  3. , UnregisteredListener2
  4. , Listener
  5. , Listener2
  6. , mkListenerUnit
  7. , mkListenerOne
  8. , mkListenerTwo
  9. ) where
  10. import Effect (Effect)
  11. import Prelude (Unit)
  12. type UnregisteredListener a
  13. = (a -> Effect Unit)
  14. type UnregisteredListener2 a b
  15. = (a -> b -> Effect Unit)
  16. newtype Listener a
  17. = Listener (UnregisteredListener a)
  18. newtype Listener2 a b
  19. = Listener2 (UnregisteredListener2 a b)
  20. foreign import mkListenerUnit :: (Effect Unit) -> Effect (Listener Unit)
  21. foreign import mkListenerOne :: forall a. (UnregisteredListener a) -> Effect (Listener a)
  22. foreign import mkListenerTwo :: forall a b. (UnregisteredListener2 a b) -> Effect (Listener2 a b)