Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Module (lang :: Language) = PSModule {
- psModuleName :: !Text
- psImportLines :: !(Map Text ImportLine)
- psTypes :: ![SumType lang]
- type PSModule = Module 'PureScript
- data ImportLine = ImportLine {
- importModule :: !Text
- importAlias :: !(Maybe Text)
- importTypes :: !(Set Text)
- type Modules = Map Text PSModule
- type ImportLines = Map Text ImportLine
- printModule :: Settings -> FilePath -> PSModule -> IO ()
- sumTypesToNeededPackages :: [SumType lang] -> Set Text
- sumTypeToNeededPackages :: SumType lang -> Set Text
- moduleToText :: Settings -> Module 'PureScript -> Text
- _genericsImports :: Settings -> [ImportLine]
- _lensImports :: Settings -> [ImportLine]
- _argonautCodecsImports :: Settings -> [ImportLine]
- _foreignImports :: Settings -> [ImportLine]
- importLineToText :: ImportLine -> Text
- sumTypeToText :: Settings -> SumType 'PureScript -> Text
- sumTypeToTypeDecls :: Settings -> SumType 'PureScript -> Text
- foreignOptionsToPurescript :: Maybe ForeignOptions -> Text
- instances :: Settings -> SumType 'PureScript -> [Text]
- isTypeParam :: PSType -> PSType -> Bool
- encodeInstance :: PSType -> Text
- encodeJsonInstance :: PSType -> Text
- decodeInstance :: PSType -> Text
- decodeJsonInstance :: PSType -> Text
- decodeJsonFieldInstance :: PSType -> Text
- genericInstance :: Settings -> PSType -> 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
- mergedTypeInfoToText :: 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 | |
|
Instances
Show ImportLine Source # | |
Defined in Language.PureScript.Bridge.Printer showsPrec :: Int -> ImportLine -> ShowS # show :: ImportLine -> String # showList :: [ImportLine] -> ShowS # |
type ImportLines = Map Text ImportLine Source #
moduleToText :: Settings -> Module 'PureScript -> Text Source #
_genericsImports :: Settings -> [ImportLine] Source #
_lensImports :: Settings -> [ImportLine] Source #
_argonautCodecsImports :: Settings -> [ImportLine] Source #
_foreignImports :: Settings -> [ImportLine] Source #
importLineToText :: ImportLine -> Text Source #
sumTypeToText :: Settings -> SumType 'PureScript -> Text Source #
sumTypeToTypeDecls :: Settings -> SumType 'PureScript -> Text Source #
instances :: Settings -> SumType 'PureScript -> [Text] Source #
Given a Purescript type, generate instances for typeclass instances it claims to have.
encodeInstance :: PSType -> Text Source #
encodeJsonInstance :: PSType -> Text Source #
decodeInstance :: PSType -> Text Source #
decodeJsonInstance :: PSType -> Text Source #
decodeJsonFieldInstance :: PSType -> Text Source #
sumTypeToOptics :: SumType 'PureScript -> Text Source #
constructorOptics :: 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 #
recordEntryToLens :: SumType 'PureScript -> RecordEntry 'PureScript -> Text Source #
mergedTypeInfoToText :: PSType -> 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 #