cursor-0.1.0.1: Purely Functional Cursors

Safe HaskellNone
LanguageHaskell2010

Cursor.Map

Documentation

newtype MapCursor kc vc k v Source #

Constructors

MapCursor 

Fields

Instances
(Eq k, Eq v, Eq kc, Eq vc) => Eq (MapCursor kc vc k v) Source # 
Instance details

Defined in Cursor.Map

Methods

(==) :: MapCursor kc vc k v -> MapCursor kc vc k v -> Bool #

(/=) :: MapCursor kc vc k v -> MapCursor kc vc k v -> Bool #

(Show k, Show v, Show kc, Show vc) => Show (MapCursor kc vc k v) Source # 
Instance details

Defined in Cursor.Map

Methods

showsPrec :: Int -> MapCursor kc vc k v -> ShowS #

show :: MapCursor kc vc k v -> String #

showList :: [MapCursor kc vc k v] -> ShowS #

Generic (MapCursor kc vc k v) Source # 
Instance details

Defined in Cursor.Map

Associated Types

type Rep (MapCursor kc vc k v) :: Type -> Type #

Methods

from :: MapCursor kc vc k v -> Rep (MapCursor kc vc k v) x #

to :: Rep (MapCursor kc vc k v) x -> MapCursor kc vc k v #

(Validity kc, Validity vc, Validity k, Validity v) => Validity (MapCursor kc vc k v) Source # 
Instance details

Defined in Cursor.Map

Methods

validate :: MapCursor kc vc k v -> Validation #

type Rep (MapCursor kc vc k v) Source # 
Instance details

Defined in Cursor.Map

type Rep (MapCursor kc vc k v) = D1 (MetaData "MapCursor" "Cursor.Map" "cursor-0.1.0.1-B4Ve9845sGB2dEksN2X1wh" True) (C1 (MetaCons "MapCursor" PrefixI True) (S1 (MetaSel (Just "mapCursorList") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NonEmptyCursor (KeyValueCursor kc vc k v) (k, v)))))

makeMapCursor :: (k -> kc) -> NonEmpty (k, v) -> MapCursor kc vc k v Source #

makeMapCursorWithSelection :: (k -> kc) -> Int -> NonEmpty (k, v) -> Maybe (MapCursor kc vc k v) Source #

singletonMapCursorKey :: kc -> v -> MapCursor kc vc k v Source #

singletonMapCursorValue :: k -> vc -> MapCursor kc vc k v Source #

rebuildMapCursor :: (kc -> k) -> (vc -> v) -> MapCursor kc vc k v -> NonEmpty (k, v) Source #

mapMapCursor :: (kc -> lc) -> (vc -> wc) -> (k -> l) -> (v -> w) -> MapCursor kc vc k v -> MapCursor lc wc l w Source #

mapCursorNonEmptyCursorL :: Lens (MapCursor kc vc k v) (MapCursor lc wc l w) (NonEmptyCursor (KeyValueCursor kc vc k v) (k, v)) (NonEmptyCursor (KeyValueCursor lc wc l w) (l, w)) Source #

mapCursorSelectKey :: (k -> kc) -> (vc -> v) -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorSelectValue :: (kc -> k) -> (v -> vc) -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorToggleSelected :: (kc -> k) -> (k -> kc) -> (vc -> v) -> (v -> vc) -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorSelectPrev :: (kc -> k) -> (k -> kc) -> (vc -> v) -> MapCursor kc vc k v -> Maybe (MapCursor kc vc k v) Source #

mapCursorSelectNext :: (kc -> k) -> (k -> kc) -> (vc -> v) -> MapCursor kc vc k v -> Maybe (MapCursor kc vc k v) Source #

mapCursorSelectFirst :: (kc -> k) -> (k -> kc) -> (vc -> v) -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorSelectLast :: (kc -> k) -> (k -> kc) -> (vc -> v) -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorSelectIndex :: (kc -> k) -> (k -> kc) -> (vc -> v) -> Int -> MapCursor kc vc k v -> Maybe (MapCursor kc vc k v) Source #

mapCursorInsert :: k -> v -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorAppend :: k -> v -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorInsertAndSelectKey :: (kc -> k) -> (vc -> v) -> kc -> v -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorAppendAndSelectKey :: (kc -> k) -> (vc -> v) -> kc -> v -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorInsertAndSelectValue :: (kc -> k) -> (vc -> v) -> k -> vc -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorAppendAndSelectValue :: (kc -> k) -> (vc -> v) -> k -> vc -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

mapCursorRemoveElem :: (k -> kc) -> MapCursor kc vc k v -> DeleteOrUpdate (MapCursor kc vc k v) Source #

mapCursorDeleteElem :: (k -> kc) -> MapCursor kc vc k v -> DeleteOrUpdate (MapCursor kc vc k v) Source #

mapCursorSearch :: (kc -> k) -> (k -> kc) -> (vc -> v) -> (k -> v -> Bool) -> MapCursor kc vc k v -> Maybe (MapCursor kc vc k v) Source #

mapCursorSelectOrAdd :: (kc -> k) -> (k -> kc) -> (vc -> v) -> (k -> v -> Bool) -> KeyValueCursor kc vc k v -> MapCursor kc vc k v -> MapCursor kc vc k v Source #

traverseMapCursor :: ([(k, v)] -> KeyValueCursor kc vc k v -> [(k, v)] -> f c) -> MapCursor kc vc k v -> f c Source #

foldMapCursor :: ([(k, v)] -> KeyValueCursor kc vc k v -> [(k, v)] -> c) -> MapCursor kc vc k v -> c Source #