]> git.immae.eu Git - github/fretlink/purs-loader.git/blame - src/PursLoader/LoaderRef.purs
Bumping version number to 0.6.0-beta.1
[github/fretlink/purs-loader.git] / src / PursLoader / LoaderRef.purs
CommitLineData
c194f84c 1module PursLoader.LoaderRef
2 ( LoaderRef()
3 , Loader()
63d6a244 4 , AsyncCallback()
c194f84c 5 , async
6 , cacheable
c194f84c 7 , query
3610dff1 8 , clearDependencies
9 , addDependency
10 , resourcePath
c194f84c 11 ) where
12
03b840cb 13import Prelude (Unit())
14
c194f84c 15import Control.Monad.Eff (Eff())
16import Control.Monad.Eff.Exception (Error())
17
c194f84c 18import Data.Function (Fn3(), runFn3)
19import Data.Maybe (Maybe(), fromMaybe, isJust)
20
63d6a244 21type AsyncCallback eff = Maybe Error -> String -> Eff (loader :: Loader | eff) Unit
22
c194f84c 23data LoaderRef
24
25foreign import data Loader :: !
26
63d6a244 27foreign import asyncFn :: forall eff. Fn3 (Maybe Error -> Boolean)
28 (Error -> Maybe Error -> Error)
29 LoaderRef
30 (Eff (loader :: Loader | eff) (AsyncCallback eff))
c194f84c 31
63d6a244 32async :: forall eff. LoaderRef -> Eff (loader :: Loader | eff) (Maybe Error -> String -> Eff (loader :: Loader | eff) Unit)
c194f84c 33async ref = runFn3 asyncFn isJust fromMaybe ref
34
03b840cb 35foreign import cacheable :: forall eff. LoaderRef -> Eff (loader :: Loader | eff) Unit
c194f84c 36
03b840cb 37foreign import query :: LoaderRef -> String
3610dff1 38
03b840cb 39foreign import clearDependencies :: forall eff. LoaderRef -> Eff (loader :: Loader | eff) Unit
3610dff1 40
03b840cb 41foreign import resourcePath :: LoaderRef -> String
3610dff1 42
03b840cb 43foreign import addDependency :: forall eff. LoaderRef -> String -> Eff (loader :: Loader | eff) Unit