packages feed

purescript-bridge 0.3.0.3 → 0.3.0.4

raw patch · 3 files changed

+18/−2 lines, 3 files

Files

purescript-bridge.cabal view
@@ -10,7 +10,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.3.0.3+version:             0.3.0.4  -- A short (one-line) description of the package. synopsis:            Generate PureScript data types from Haskell data types
src/Language/PureScript/Bridge.hs view
@@ -8,7 +8,9 @@   import qualified Data.Text as T+import qualified Data.Text.IO as T + import Language.PureScript.Bridge.SumType as Bridge import Language.PureScript.Bridge.TypeInfo as Bridge import Language.PureScript.Bridge.Tuple as Bridge@@ -55,6 +57,10 @@     let bridged = map (bridgeSumType br) sts     let modules = M.elems $ sumTypesToModules M.empty bridged     mapM_ (printModule root) modules+    T.putStrLn "Successfully created your PureScript modules.\n"+    T.putStrLn "Make sure you have the following PureScript packages installed:\n"+    let packages = sumTypesToNeededPackages bridged+    mapM_ (T.putStrLn . mappend "  - ") packages  -- | Translate leaf types in a sum type to match PureScript types. bridgeSumType :: TypeBridge -> SumType -> SumType
src/Language/PureScript/Bridge/Printer.hs view
@@ -41,6 +41,16 @@     mPath = root </> mFile     mDir = takeDirectory mPath +sumTypesToNeededPackages :: [SumType] -> Set Text+sumTypesToNeededPackages = S.unions . map sumTypeToNeededPackages++sumTypeToNeededPackages :: SumType -> Set Text+sumTypeToNeededPackages st = let+    types = getUsedTypes st+    packages = filter (not . T.null) . map typePackage $ types+  in+    S.fromList packages+ moduleToText :: PSModule -> Text moduleToText m = T.unlines $   "module " <> psModuleName m <> " where\n"@@ -85,7 +95,7 @@ sumTypesToModules = foldr sumTypeToModule  sumTypeToModule :: SumType -> Modules -> Modules-sumTypeToModule st@(SumType t _) = M.alter (Just. updateModule) (typeModule t)+sumTypeToModule st@(SumType t _) = M.alter (Just . updateModule) (typeModule t)   where     updateModule Nothing = PSModule {           psModuleName = typeModule t