{-# 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