{-# LANGUAGE PatternSynonyms #-} module Cursor.Simple.Map.KeyValue ( KeyValueCursor , pattern KVC.KeyValueCursorKey , pattern KVC.KeyValueCursorValue , KVC.makeKeyValueCursorKey , KVC.makeKeyValueCursorValue , rebuildKeyValueCursor , KVC.keyValueCursorSelection , mapKeyValueCursor , keyValueCursorSelectKey , keyValueCursorSelectValue , keyValueCursorToggleSelected , KVC.KeyValueToggle(..) ) where import qualified Cursor.Map.KeyValue as KVC type KeyValueCursor k v = KVC.KeyValueCursor k v k v rebuildKeyValueCursor :: KeyValueCursor k v -> (k, v) rebuildKeyValueCursor = KVC.rebuildKeyValueCursor id id mapKeyValueCursor :: (k -> l) -> (v -> w) -> KeyValueCursor k v -> KeyValueCursor l w mapKeyValueCursor f g = KVC.mapKeyValueCursor f g f g keyValueCursorSelectKey :: KeyValueCursor k v -> KeyValueCursor k v keyValueCursorSelectKey = KVC.keyValueCursorSelectKey id id keyValueCursorSelectValue :: KeyValueCursor k v -> KeyValueCursor k v keyValueCursorSelectValue = KVC.keyValueCursorSelectValue id id keyValueCursorToggleSelected :: KeyValueCursor k v -> KeyValueCursor k v keyValueCursorToggleSelected = KVC.keyValueCursorToggleSelected id id id id