Commit 39e3ef0a authored by James Laver's avatar James Laver

Add invertOrdering and _unit to Gargantext.Utils

parent 9181d244
module Gargantext.Utils where module Gargantext.Utils where
import Prelude import Prelude
import Data.Ordering (Ordering(..))
import Data.Newtype (class Newtype, unwrap, wrap) import Data.Newtype (class Newtype, unwrap, wrap)
import Data.Lens (Lens', lens)
setterv :: forall nt record field. Newtype nt record => (record -> field -> record) -> field -> nt -> nt setterv :: forall nt record field. Newtype nt record => (record -> field -> record) -> field -> nt -> nt
setterv fn v t = (setter (flip fn v) t) setterv fn v t = (setter (flip fn v) t)
...@@ -12,3 +13,13 @@ setter fn = wrap <<< fn <<< unwrap ...@@ -12,3 +13,13 @@ setter fn = wrap <<< fn <<< unwrap
getter :: forall record field nt. Newtype nt record => (record -> field) -> nt -> field getter :: forall record field nt. Newtype nt record => (record -> field) -> nt -> field
getter fn = fn <<< unwrap getter fn = fn <<< unwrap
-- Default sort order is ascending, we may want descending
invertOrdering :: Ordering -> Ordering
invertOrdering LT = GT
invertOrdering GT = LT
invertOrdering EQ = EQ
-- A lens that always returns unit
_unit :: forall s. Lens' s Unit
_unit = lens (\_ -> unit) (\s _ -> s)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment