Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Module (lang :: Language) = PSModule {
- psModuleName :: !Text
- psImportLines :: !(Map Text ImportLine)
- psTypes :: ![SumType lang]
- type PSModule = Module PureScript
- data ImportLine = ImportLine {
- importModule :: !Text
- importTypes :: !(Set Text)
- type Modules = Map Text PSModule
- type ImportLines = Map Text ImportLine
- printModule :: FilePath -> PSModule -> IO ()
- sumTypesToNeededPackages :: [SumType lang] -> Set Text
- sumTypeToNeededPackages :: SumType lang -> Set Text
- moduleToText :: Module PureScript -> Text
- _lensImports :: [ImportLine]
- importLineToText :: ImportLine -> Text
- sumTypeToText :: SumType PureScript -> Text
- sumTypeToTypeDecls :: SumType PureScript -> Text
- instances :: SumType PureScript -> [Text]
- sumTypeToOptics :: SumType PureScript -> Text
- constructorOptics :: SumType PureScript -> Text
- recordOptics :: SumType PureScript -> Text
- constructorToText :: Int -> DataConstructor PureScript -> Text
- spaces :: Int -> Text
- typeNameAndForall :: TypeInfo PureScript -> (Text, Text)
- fromEntries :: (RecordEntry a -> Text) -> [RecordEntry a] -> Text
- mkFnArgs :: [RecordEntry PureScript] -> Text
- mkTypeSig :: [RecordEntry PureScript] -> Text
- constructorToOptic :: Bool -> TypeInfo PureScript -> DataConstructor PureScript -> Text
- recordEntryToLens :: SumType PureScript -> RecordEntry PureScript -> Text
- recordEntryToText :: RecordEntry PureScript -> Text
- typeInfoToText :: Bool -> PSType -> Text
- sumTypesToModules :: Modules -> [SumType PureScript] -> Modules
- sumTypeToModule :: SumType PureScript -> Modules -> Modules
- typesToImportLines :: ImportLines -> Set PSType -> ImportLines
- typeToImportLines :: PSType -> ImportLines -> ImportLines
- importsFromList :: [ImportLine] -> Map Text ImportLine
- mergeImportLines :: ImportLines -> ImportLines -> ImportLines
- unlessM :: Monad m => m Bool -> m () -> m ()
Documentation
data Module (lang :: Language) Source #
PSModule | |
|
type PSModule = Module PureScript Source #
data ImportLine Source #
ImportLine | |
|
type ImportLines = Map Text ImportLine Source #
moduleToText :: Module PureScript -> Text Source #
_lensImports :: [ImportLine] Source #
importLineToText :: ImportLine -> Text Source #
sumTypeToText :: SumType PureScript -> Text Source #
instances :: SumType PureScript -> [Text] Source #
Given a Purescript type, generate `derive instance` lines for typeclass instances it claims to have.
sumTypeToOptics :: SumType PureScript -> Text Source #
recordOptics :: SumType PureScript -> Text Source #
constructorToText :: Int -> DataConstructor PureScript -> Text Source #
typeNameAndForall :: TypeInfo PureScript -> (Text, Text) Source #
fromEntries :: (RecordEntry a -> Text) -> [RecordEntry a] -> Text Source #
mkFnArgs :: [RecordEntry PureScript] -> Text Source #
mkTypeSig :: [RecordEntry PureScript] -> Text Source #
constructorToOptic :: Bool -> TypeInfo PureScript -> DataConstructor PureScript -> Text Source #
sumTypesToModules :: Modules -> [SumType PureScript] -> Modules Source #
sumTypeToModule :: SumType PureScript -> Modules -> Modules Source #
typesToImportLines :: ImportLines -> Set PSType -> ImportLines Source #
typeToImportLines :: PSType -> ImportLines -> ImportLines Source #
importsFromList :: [ImportLine] -> Map Text ImportLine Source #
mergeImportLines :: ImportLines -> ImportLines -> ImportLines Source #