git.iko.soy/rowtype-yoga/psfp
on 64d8094 help sign in
26 lines 831 B history raw
1module Yoga.Helpers where
3import Prelude
4import Data.Array (head, tail, (:))
5import Data.Maybe (Maybe(..), fromMaybe)
7fromMaybeFlipped ∷ ∀ a. Maybe a -> a -> a
8fromMaybeFlipped = flip fromMaybe
10infixr 5 fromMaybeFlipped as ?||
12ifJustTrue ∷ ∀ m. Monoid m => Maybe Boolean -> m -> m
13ifJustTrue option value = if option == Just true then value else mempty
15ifJustFalse ∷ ∀ m. Monoid m => Maybe Boolean -> m -> m
16ifJustFalse option value = if option == Just false then value else mempty
18intersperse ∷ ∀ a. a -> Array a -> Array a
19intersperse sep xs = case head xs, tail xs ?|| [] of
20 Nothing, _ -> []
21 Just x, xs' -> x : prependToAll sep xs'
23prependToAll ∷ ∀ a. a -> Array a -> Array a
24prependToAll sep xs = case head xs, tail xs ?|| [] of
25 Nothing, _ -> []
26 Just x, xs' -> sep : x : prependToAll sep xs'