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