VY
Data.Monoid (guard)Size: a a a
VY
Data.Monoid (guard)VY
guard isSmth smthR:
Data.Monoid (guard)R:
R:
R:
VY
R:
VY
VY
R:
VY
module StylesheetGenerator where
import Prelude
import CSS (Rendered, renderedSheet)
-- skipped namespaces ... --
import Data.Array (foldMap)
import Data.Maybe (Maybe(..))
import Data.Traversable (traverse)
import Data.Tuple (Tuple(..))
import Effect (Effect)
import Effect.Aff (Aff, launchAff_)
import Effect.Class (liftEffect)
import Effect.Console (error, log)
import Node.Encoding (Encoding(..))
import Node.FS.Aff (writeTextFile)
import Prelude.Unicode ((∘), (◇))
import Text.Prettier (Parser(..), defaultOptions)
import Text.Prettier as Prettier
main ∷ Effect Unit
main = launchAff_ $ traverse process stylesheets
stylesheets ∷ Array (Tuple String (Array Rendered))
stylesheets =
[ Tuple "app" [App.stylesheet]
, Tuple "storybook" [Storybook.stylesheet]
]
process ∷ Tuple String (Array Rendered) → Aff Unit
process (Tuple name sheets) =
case rendered of
Nothing → liftEffect $ error "error generating stylesheet"
(Just css) → do
let formatted = foldMap formatCss css
writeTextFile UTF8 fileName formatted
liftEffect ∘ log $ "generated stylesheet " ◇ fileName
where
fileName = "./styles/" ◇ name ◇ ".css"
rendered = traverse renderedSheet sheets
formatCss ∷ String → String
formatCss = Prettier.format (defaultOptions { parser = CSS })
VY
R:
VY
VY
ЗП