purescript-index

Indexable abstractions.


License
MIT
Install
bower install purescript-index

Documentation

Module Documentation

Module Optic.At

At

class (Index m a b) <= At m a b where
  at :: a -> LensP m (Maybe b)

atIdentity

instance atIdentity :: At (Identity a) Unit a

atMaybe

instance atMaybe :: At (Maybe a) Unit a

atSet

instance atSet :: (Ord v) => At (S.Set v) v Unit

atMap

instance atMap :: (Ord k) => At (M.Map k v) k v

atStrMap

instance atStrMap :: At (SM.StrMap v) String v

Module Optic.Contains

Contains

class (IndexKey m a) <= Contains m a where
  contains :: a -> LensP m Boolean

containsSet

instance containsSet :: (Ord k) => Contains (Set k) k

Module Optic.Index

Index

class (IndexKey m a, IndexValue m b) <= Index m a b where
  ix :: a -> TraversalP m b

indexArr

instance indexArr :: (Eq e) => Index (e -> a) e a

indexMaybe

instance indexMaybe :: Index (Maybe a) Unit a

indexIdentity

instance indexIdentity :: Index (Identity a) Unit a

indexArray

instance indexArray :: Index [a] Number a

indexSet

instance indexSet :: (Ord a) => Index (S.Set a) a Unit

indexMap

instance indexMap :: (Ord k) => Index (M.Map k v) k v

indexStrMap

instance indexStrMap :: Index (SM.StrMap v) String v

Module Optic.Index.Class

IndexKey

class IndexKey m k where

IndexValue

class IndexValue m v where

indexKeyArr

instance indexKeyArr :: IndexKey (a -> b) a

indexKeyArray

instance indexKeyArray :: IndexKey [a] Number

indexKeyIdentity

instance indexKeyIdentity :: IndexKey (Identity a) Unit

indexKeyMap

instance indexKeyMap :: IndexKey (M.Map k v) k

indexKeyMaybe

instance indexKeyMaybe :: IndexKey (Maybe a) Unit

indexKeySet

instance indexKeySet :: IndexKey (S.Set k) k

indexKeyStrMap

instance indexKeyStrMap :: IndexKey (SM.StrMap v) String

indexValueArr

instance indexValueArr :: IndexValue (a -> b) b

indexValueArray

instance indexValueArray :: IndexValue [a] a

indexValueIdentity

instance indexValueIdentity :: IndexValue (Identity a) a

indexValueMap

instance indexValueMap :: IndexValue (M.Map k v) v

indexValueMaybe

instance indexValueMaybe :: IndexValue (Maybe a) a

indexValueSet

instance indexValueSet :: IndexValue (S.Set k) Unit

indexValueStrMap

instance indexValueStrMap :: IndexValue (SM.StrMap v) v

Module Optic.Index.Types

LensP

type LensP s a = forall f. (Functor f) => (a -> f a) -> s -> f s

TraversalP

type TraversalP s a = forall f. (Applicative f) => (a -> f a) -> s -> f s