{-# LANGUAGE DeriveAnyClass #-}
module Global.Resource.CubeMap.Base
( Collection(..)
, sources
) where
import RIO
import Data.Distributive (Distributive(..))
import Data.Distributive.Generic (genericCollect)
import Data.Functor.Rep (Co(..), Representable)
import GHC.Generics (Generic1)
import Resource.Source (Source)
import Resource.Source qualified as Source
import Global.Resource.CubeMap.Base.Paths qualified as Paths
data Collection a = Collection
{ Collection a -> a
black :: a
}
deriving stock (Int -> Collection a -> ShowS
[Collection a] -> ShowS
Collection a -> String
(Int -> Collection a -> ShowS)
-> (Collection a -> String)
-> ([Collection a] -> ShowS)
-> Show (Collection a)
forall a. Show a => Int -> Collection a -> ShowS
forall a. Show a => [Collection a] -> ShowS
forall a. Show a => Collection a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Collection a] -> ShowS
$cshowList :: forall a. Show a => [Collection a] -> ShowS
show :: Collection a -> String
$cshow :: forall a. Show a => Collection a -> String
showsPrec :: Int -> Collection a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> Collection a -> ShowS
Show, a -> Collection b -> Collection a
(a -> b) -> Collection a -> Collection b
(forall a b. (a -> b) -> Collection a -> Collection b)
-> (forall a b. a -> Collection b -> Collection a)
-> Functor Collection
forall a b. a -> Collection b -> Collection a
forall a b. (a -> b) -> Collection a -> Collection b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: a -> Collection b -> Collection a
$c<$ :: forall a b. a -> Collection b -> Collection a
fmap :: (a -> b) -> Collection a -> Collection b
$cfmap :: forall a b. (a -> b) -> Collection a -> Collection b
Functor, Collection a -> Bool
(a -> m) -> Collection a -> m
(a -> b -> b) -> b -> Collection a -> b
(forall m. Monoid m => Collection m -> m)
-> (forall m a. Monoid m => (a -> m) -> Collection a -> m)
-> (forall m a. Monoid m => (a -> m) -> Collection a -> m)
-> (forall a b. (a -> b -> b) -> b -> Collection a -> b)
-> (forall a b. (a -> b -> b) -> b -> Collection a -> b)
-> (forall b a. (b -> a -> b) -> b -> Collection a -> b)
-> (forall b a. (b -> a -> b) -> b -> Collection a -> b)
-> (forall a. (a -> a -> a) -> Collection a -> a)
-> (forall a. (a -> a -> a) -> Collection a -> a)
-> (forall a. Collection a -> [a])
-> (forall a. Collection a -> Bool)
-> (forall a. Collection a -> Int)
-> (forall a. Eq a => a -> Collection a -> Bool)
-> (forall a. Ord a => Collection a -> a)
-> (forall a. Ord a => Collection a -> a)
-> (forall a. Num a => Collection a -> a)
-> (forall a. Num a => Collection a -> a)
-> Foldable Collection
forall a. Eq a => a -> Collection a -> Bool
forall a. Num a => Collection a -> a
forall a. Ord a => Collection a -> a
forall m. Monoid m => Collection m -> m
forall a. Collection a -> Bool
forall a. Collection a -> Int
forall a. Collection a -> [a]
forall a. (a -> a -> a) -> Collection a -> a
forall m a. Monoid m => (a -> m) -> Collection a -> m
forall b a. (b -> a -> b) -> b -> Collection a -> b
forall a b. (a -> b -> b) -> b -> Collection a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: Collection a -> a
$cproduct :: forall a. Num a => Collection a -> a
sum :: Collection a -> a
$csum :: forall a. Num a => Collection a -> a
minimum :: Collection a -> a
$cminimum :: forall a. Ord a => Collection a -> a
maximum :: Collection a -> a
$cmaximum :: forall a. Ord a => Collection a -> a
elem :: a -> Collection a -> Bool
$celem :: forall a. Eq a => a -> Collection a -> Bool
length :: Collection a -> Int
$clength :: forall a. Collection a -> Int
null :: Collection a -> Bool
$cnull :: forall a. Collection a -> Bool
toList :: Collection a -> [a]
$ctoList :: forall a. Collection a -> [a]
foldl1 :: (a -> a -> a) -> Collection a -> a
$cfoldl1 :: forall a. (a -> a -> a) -> Collection a -> a
foldr1 :: (a -> a -> a) -> Collection a -> a
$cfoldr1 :: forall a. (a -> a -> a) -> Collection a -> a
foldl' :: (b -> a -> b) -> b -> Collection a -> b
$cfoldl' :: forall b a. (b -> a -> b) -> b -> Collection a -> b
foldl :: (b -> a -> b) -> b -> Collection a -> b
$cfoldl :: forall b a. (b -> a -> b) -> b -> Collection a -> b
foldr' :: (a -> b -> b) -> b -> Collection a -> b
$cfoldr' :: forall a b. (a -> b -> b) -> b -> Collection a -> b
foldr :: (a -> b -> b) -> b -> Collection a -> b
$cfoldr :: forall a b. (a -> b -> b) -> b -> Collection a -> b
foldMap' :: (a -> m) -> Collection a -> m
$cfoldMap' :: forall m a. Monoid m => (a -> m) -> Collection a -> m
foldMap :: (a -> m) -> Collection a -> m
$cfoldMap :: forall m a. Monoid m => (a -> m) -> Collection a -> m
fold :: Collection m -> m
$cfold :: forall m. Monoid m => Collection m -> m
Foldable, Functor Collection
Foldable Collection
Functor Collection
-> Foldable Collection
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Collection a -> f (Collection b))
-> (forall (f :: * -> *) a.
Applicative f =>
Collection (f a) -> f (Collection a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Collection a -> m (Collection b))
-> (forall (m :: * -> *) a.
Monad m =>
Collection (m a) -> m (Collection a))
-> Traversable Collection
(a -> f b) -> Collection a -> f (Collection b)
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (m :: * -> *) a.
Monad m =>
Collection (m a) -> m (Collection a)
forall (f :: * -> *) a.
Applicative f =>
Collection (f a) -> f (Collection a)
forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Collection a -> m (Collection b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Collection a -> f (Collection b)
sequence :: Collection (m a) -> m (Collection a)
$csequence :: forall (m :: * -> *) a.
Monad m =>
Collection (m a) -> m (Collection a)
mapM :: (a -> m b) -> Collection a -> m (Collection b)
$cmapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Collection a -> m (Collection b)
sequenceA :: Collection (f a) -> f (Collection a)
$csequenceA :: forall (f :: * -> *) a.
Applicative f =>
Collection (f a) -> f (Collection a)
traverse :: (a -> f b) -> Collection a -> f (Collection b)
$ctraverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Collection a -> f (Collection b)
$cp2Traversable :: Foldable Collection
$cp1Traversable :: Functor Collection
Traversable, (forall x. Collection a -> Rep (Collection a) x)
-> (forall x. Rep (Collection a) x -> Collection a)
-> Generic (Collection a)
forall x. Rep (Collection a) x -> Collection a
forall x. Collection a -> Rep (Collection a) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall a x. Rep (Collection a) x -> Collection a
forall a x. Collection a -> Rep (Collection a) x
$cto :: forall a x. Rep (Collection a) x -> Collection a
$cfrom :: forall a x. Collection a -> Rep (Collection a) x
Generic, (forall a. Collection a -> Rep1 Collection a)
-> (forall a. Rep1 Collection a -> Collection a)
-> Generic1 Collection
forall a. Rep1 Collection a -> Collection a
forall a. Collection a -> Rep1 Collection a
forall k (f :: k -> *).
(forall (a :: k). f a -> Rep1 f a)
-> (forall (a :: k). Rep1 f a -> f a) -> Generic1 f
$cto1 :: forall a. Rep1 Collection a -> Collection a
$cfrom1 :: forall a. Collection a -> Rep1 Collection a
Generic1)
deriving Functor Collection
a -> Collection a
Functor Collection
-> (forall a. a -> Collection a)
-> (forall a b.
Collection (a -> b) -> Collection a -> Collection b)
-> (forall a b c.
(a -> b -> c) -> Collection a -> Collection b -> Collection c)
-> (forall a b. Collection a -> Collection b -> Collection b)
-> (forall a b. Collection a -> Collection b -> Collection a)
-> Applicative Collection
Collection a -> Collection b -> Collection b
Collection a -> Collection b -> Collection a
Collection (a -> b) -> Collection a -> Collection b
(a -> b -> c) -> Collection a -> Collection b -> Collection c
forall a. a -> Collection a
forall a b. Collection a -> Collection b -> Collection a
forall a b. Collection a -> Collection b -> Collection b
forall a b. Collection (a -> b) -> Collection a -> Collection b
forall a b c.
(a -> b -> c) -> Collection a -> Collection b -> Collection c
forall (f :: * -> *).
Functor f
-> (forall a. a -> f a)
-> (forall a b. f (a -> b) -> f a -> f b)
-> (forall a b c. (a -> b -> c) -> f a -> f b -> f c)
-> (forall a b. f a -> f b -> f b)
-> (forall a b. f a -> f b -> f a)
-> Applicative f
<* :: Collection a -> Collection b -> Collection a
$c<* :: forall a b. Collection a -> Collection b -> Collection a
*> :: Collection a -> Collection b -> Collection b
$c*> :: forall a b. Collection a -> Collection b -> Collection b
liftA2 :: (a -> b -> c) -> Collection a -> Collection b -> Collection c
$cliftA2 :: forall a b c.
(a -> b -> c) -> Collection a -> Collection b -> Collection c
<*> :: Collection (a -> b) -> Collection a -> Collection b
$c<*> :: forall a b. Collection (a -> b) -> Collection a -> Collection b
pure :: a -> Collection a
$cpure :: forall a. a -> Collection a
$cp1Applicative :: Functor Collection
Applicative via (Co Collection)
deriving anyclass (Distributive Collection
Distributive Collection
-> (forall a. (Rep Collection -> a) -> Collection a)
-> (forall a. Collection a -> Rep Collection -> a)
-> Representable Collection
forall a. Collection a -> Rep Collection -> a
forall a. (Rep Collection -> a) -> Collection a
forall (f :: * -> *).
Distributive f
-> (forall a. (Rep f -> a) -> f a)
-> (forall a. f a -> Rep f -> a)
-> Representable f
index :: Collection a -> Rep Collection -> a
$cindex :: forall a. Collection a -> Rep Collection -> a
tabulate :: (Rep Collection -> a) -> Collection a
$ctabulate :: forall a. (Rep Collection -> a) -> Collection a
$cp1Representable :: Distributive Collection
Representable)
instance Distributive Collection where
collect :: (a -> Collection b) -> f a -> Collection (f b)
collect = (a -> Collection b) -> f a -> Collection (f b)
forall (f :: * -> *) (g :: * -> *) a b.
(Functor f, Generic1 g, GDistributive (Rep1 g)) =>
(a -> g b) -> f a -> g (f b)
genericCollect
sources :: Collection Source
sources :: Collection Source
sources = Collection :: forall a. a -> Collection a
Collection
{ $sel:black:Collection :: Source
black = $(Source.embedFile Paths.BLACK_KTX_ZST)
}