Safe Haskell | None |
---|
Abstract Syntax Tree of yesod-dsl definition.
- data Module = Module {
- modName :: Maybe String
- modEntities :: [Entity]
- modClasses :: [Class]
- modEnums :: [EnumType]
- modRoutes :: [Route]
- modDefines :: [Define]
- moduleName :: Module -> String
- emptyModule :: Module
- type ClassName = String
- type ParamName = String
- type EntityName = String
- type EnumName = String
- data FieldType
- data Location = Loc FilePath Int Int
- data Define = Define {
- defineName :: String
- defineLoc :: Location
- defineParams :: [ParamName]
- defineContent :: DefineContent
- data DefineContent = DefineSubQuery SelectQuery
- type FieldName = String
- data Unique = Unique {
- uniqueName :: String
- uniqueFields :: [FieldName]
- data HandlerType
- = GetHandler
- | PutHandler
- | PostHandler
- | DeleteHandler
- type VariableName = String
- data JoinType
- isOuterJoin :: JoinType -> Bool
- data BinOp
- data ValBinOp
- data BoolExpr
- data ValExpr
- data HandlerParam
- = Public
- | DefaultFilterSort
- | Select SelectQuery
- | IfFilter IfFilterParams
- | DeleteFrom EntityName VariableName (Maybe BoolExpr)
- | GetById EntityName InputFieldRef VariableName
- | Update EntityName InputFieldRef (Maybe [InputField])
- | Insert EntityName (Maybe [InputField]) (Maybe VariableName)
- | Return [OutputField]
- | Require SelectQuery
- | For VariableName InputFieldRef [HandlerParam]
- | Call FunctionName [InputFieldRef]
- type UseParamFlag = Bool
- type IfFilterParams = (ParamName, [Join], BoolExpr, UseParamFlag)
- data SelectQuery = SelectQuery {
- sqFields :: [SelectField]
- sqFrom :: (EntityName, VariableName)
- sqJoins :: [Join]
- sqWhere :: Maybe BoolExpr
- sqOrderBy :: [(FieldRef, SortDir)]
- sqLimitOffset :: (Int, Int)
- type MaybeFlag = Bool
- sqAliases :: SelectQuery -> [(EntityName, VariableName, MaybeFlag)]
- data SelectField
- = SelectAllFields VariableName
- | SelectField VariableName FieldName (Maybe VariableName)
- | SelectIdField VariableName (Maybe VariableName)
- | SelectParamField VariableName ParamName (Maybe VariableName)
- | SelectValExpr ValExpr VariableName
- data Join = Join {
- joinType :: JoinType
- joinEntity :: EntityName
- joinAlias :: VariableName
- joinExpr :: Maybe BoolExpr
- type InputField = (ParamName, InputFieldRef)
- data InputFieldRef
- type OutputField = (ParamName, OutputFieldRef)
- data OutputFieldRef = OutputFieldLocalParam VariableName
- data SortDir
- data Handler = Handler {}
- data Entity = Entity {
- entityLoc :: Location
- entityName :: String
- entityInstances :: [ClassName]
- entityFields :: [Field]
- entityClassFields :: [Field]
- entityUniques :: [Unique]
- entityDeriving :: [ClassName]
- entityChecks :: [FunctionName]
- data Route = Route {}
- routePathParams :: Route -> [PathPiece]
- isPathParam :: PathPiece -> Bool
- handlerName :: Route -> Handler -> String
- routeName :: [PathPiece] -> String
- data PathPiece
- = PathText String
- | PathId Location EntityName
- data FieldRef
- entityFieldByName :: Entity -> FieldName -> Field
- data EnumType = EnumType {
- enumLoc :: Location
- enumName :: String
- enumValues :: [String]
- data Class = Class {
- classLoc :: Location
- className :: String
- classFields :: [Field]
- classUniques :: [Unique]
- type DefaultValue = String
- type IsListFlag = Bool
- data FieldContent
- data Field = Field {
- fieldLoc :: Location
- fieldOptional :: Bool
- fieldInternal :: Bool
- fieldName :: FieldName
- fieldContent :: FieldContent
- type FunctionName = String
- data FieldOption
- data FieldValue
- = StringValue String
- | IntValue Int
- | FloatValue Double
- | BoolValue Bool
- | NothingValue
- fieldValueToSql :: FieldValue -> String
- fieldValueToEsqueleto :: FieldValue -> String
- fieldValueToHs :: FieldValue -> String
- fieldOptions :: Field -> [FieldOption]
- fieldDefault :: Field -> Maybe FieldValue
- fieldChecks :: Field -> [FunctionName]
- lookupEntity :: Module -> EntityName -> Maybe Entity
- lookupField :: Module -> EntityName -> FieldName -> Maybe Field
- lowerFirst :: String -> String
- upperFirst :: String -> String
Documentation
definitions in single file form a Module
Module | |
|
moduleName :: Module -> StringSource
safe function to extract Module
name
type EntityName = StringSource
file name, row number, and column
macro definition, currently used only to define parametrized sub-select-queries
Define | |
|
data DefineContent Source
macro-like definition, currently only for commonly used parametrized sub-queries
Eq DefineContent | |
Data DefineContent | |
Show DefineContent | |
Typeable DefineContent |
Unique | |
|
data HandlerType Source
Eq HandlerType | |
Data HandlerType | |
Show HandlerType | |
Typeable HandlerType |
type VariableName = StringSource
isOuterJoin :: JoinType -> BoolSource
data HandlerParam Source
Eq HandlerParam | |
Data HandlerParam | |
Show HandlerParam | |
Typeable HandlerParam |
type UseParamFlag = BoolSource
type IfFilterParams = (ParamName, [Join], BoolExpr, UseParamFlag)Source
data SelectQuery Source
SelectQuery | |
|
Eq SelectQuery | |
Data SelectQuery | |
Show SelectQuery | |
Typeable SelectQuery |
sqAliases :: SelectQuery -> [(EntityName, VariableName, MaybeFlag)]Source
data SelectField Source
Eq SelectField | |
Data SelectField | |
Show SelectField | |
Typeable SelectField |
Join | |
|
type InputField = (ParamName, InputFieldRef)Source
data InputFieldRef Source
Eq InputFieldRef | |
Data InputFieldRef | |
Ord InputFieldRef | |
Show InputFieldRef | |
Typeable InputFieldRef |
type OutputField = (ParamName, OutputFieldRef)Source
data OutputFieldRef Source
Eq OutputFieldRef | |
Data OutputFieldRef | |
Show OutputFieldRef | |
Typeable OutputFieldRef |
Entity | |
|
routePathParams :: Route -> [PathPiece]Source
isPathParam :: PathPiece -> BoolSource
handlerName :: Route -> Handler -> StringSource
PathText String | |
PathId Location EntityName |
entityFieldByName :: Entity -> FieldName -> FieldSource
EnumType | |
|
Class | |
|
type DefaultValue = StringSource
type IsListFlag = BoolSource
data FieldContent Source
Eq FieldContent | |
Data FieldContent | |
Show FieldContent | |
Typeable FieldContent |
Field | |
|
type FunctionName = StringSource
data FieldOption Source
Eq FieldOption | |
Data FieldOption | |
Show FieldOption | |
Typeable FieldOption |
data FieldValue Source
StringValue String | |
IntValue Int | |
FloatValue Double | |
BoolValue Bool | |
NothingValue |
Eq FieldValue | |
Data FieldValue | |
Ord FieldValue | |
Show FieldValue | |
Typeable FieldValue |
fieldValueToSql :: FieldValue -> StringSource
fieldValueToEsqueleto :: FieldValue -> StringSource
fieldValueToHs :: FieldValue -> StringSource
fieldOptions :: Field -> [FieldOption]Source
fieldDefault :: Field -> Maybe FieldValueSource
fieldChecks :: Field -> [FunctionName]Source
lookupEntity :: Module -> EntityName -> Maybe EntitySource
lookupField :: Module -> EntityName -> FieldName -> Maybe FieldSource
lowerFirst :: String -> StringSource
upperFirst :: String -> StringSource