úÎetZܗ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–Nones  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤg  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgdef[\]^_`abcPQRSTUVHIJKLMNO>?@ABCDEFG9:;<=012345678WXYZ()*+,-./#$%&' !"  #   !"#$%&'()*+,-./0123456789:;<=> ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤNone#gŹ­hijŽŻklmnop°qrstąuvwx˛ł´ľśˇ¸šşťźghijklmnopqrstuvwxghpqrsijklmnouvtwx#gŹ­hijŽŻklmnop°qrstąuvwx˛ł´ľśˇ¸šşťźNoneyWDefines how the names are created. The mk* functions correspond to the set* functions. B Functions mkNormal* define names of non-record constructor Field {BCreate name of the table for the datatype. Parameters: data name. |]Create name of the backend-specific key constructor for the datatype. Parameters: data name. }8Create name for phantom constructor used to parametrise FieldA. Parameters: data name, constructor name, constructor position. ~7Create name for phantom unique key used to parametrise KeyC. Parameters: data name, constructor name, unique constraint name. pCreate name of constructor for the unique key. Parameters: data name, constructor name, unique constraint name. €Create name used by  persistNameV for the unique key. Parameters: data name, constructor name, unique constraint name. nCreate name of the constructor specific table. Parameters: data name, constructor name, constructor position. ‚hCreate name of the db field for autokey. Parameters: data name, constructor name, constructor position. ƒ‘Create name of the field column in a database. Parameters: data name, constructor name, constructor position, field record name, field position. „˜Create name of field constructor used in expressions. Parameters: data name, constructor name, constructor position, field record name, field position. …Create name of selector (see Embeddedo) constructor used in expressions. Parameters: data name, constructor name, field record name, field position. †˘Create field name used to refer to the it in settings for non-record constructors. Parameters: data name, constructor name, constructor position, field position. ‡~Create name of the field column in a database. Parameters: data name, constructor name, constructor position, field position. ˆ…Create name of field constructor used in expressions. Parameters: data name, constructor name, constructor position, field position. ‰Create name of selector (see Embedded\) constructor used in expressions. Parameters: data name, constructor name, field position. Œ1Naming style that is applied for all definitions BCodegenerator will create a function with this name that will run migrate/ for each non-polymorphic entity in definition Default style. Adds "Field" to each record field name.  Example: H data SomeData a = Normal Int | Record { bar :: Maybe String, asc :: a}  -- Generated code  data NormalConstructor  data RecordConstructor  instance PersistEntity where ! data Field (SomeData a) where 1 Normal0Field :: Field NormalConstructor Int 8 BarField :: Field RecordConstructor (Maybe String) + AscField :: Field RecordConstructor a  ... VCreates field names in Persistent fashion prepending constructor names to the fields.  Example: H data SomeData a = Normal Int | Record { bar :: Maybe String, asc :: a}  -- Generated code  data NormalConstructor  data RecordConstructor  instance PersistEntity where ! data Field (SomeData a) where , Normal0 :: Field NormalConstructor Int 9 RecordBar :: Field RecordConstructor (Maybe String) , RecordAsc :: Field RecordConstructor a  ... ‘hCreates the shortest field names. It is more likely to lead in name conflicts than other naming styles.  Example: H data SomeData a = Normal Int | Record { bar :: Maybe String, asc :: a}  -- Generated code  data NormalConstructor  data RecordConstructor  instance PersistEntity where ! data Field (SomeData a) where , Normal0 :: Field NormalConstructor Int 3 Bar :: Field RecordConstructor (Maybe String) & Asc :: Field RecordConstructor a  ... ’ÍThe generated Haskell names of phantom types (constructors, fields, etc.) are the same as with suffixNamingStyle. But the table names and columns are converted from camelCase to underscore_lower_case with ”. “#Creates the auxiliary structures.  Particularly, it creates GADT Fieldc data instance for referring to the fields in expressions and phantom types for data constructors.  The default names of auxiliary datatypes and names used in database are generated using the naming style and can be changed via configuration. e The datatypes and their generation options are defined via YAML configuration parsed by quasiquoter •. ”MTransforms string from camelCase to lower_case_underscore naming convention. b ColumnName -> column_name, parseURL -> parse_url, FieldIEEE754Floating -> field_ieee754_floating •CConverts quasiquoted settings into the datatype used by mkPersist. –(Parses configuration stored in the file @ mkPersist suffixNamingStyle [groundhogFile|../groundhog.yaml|] 1yz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“˝žżŔÁÂĂÄĹĆÇČÉĘË̔•–ÍÎĎyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–“•–Š‹ŒŽyz{|}~€‚ƒ„…†‡ˆ‰‘’”yz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“˝žżŔÁÂĂÄĹĆÇČÉĘË̔•–ÍÎĎĐ       !"#$$%&'(()*+,-.//01234567789:;;<=>?@ABCDDEFGHIJKKLMNOPQQRSTTUVWXYZ[\\]^_`abcdefghijklmnoppqrstuvwxyz{|}~€€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹgroundhog-th-0.4.0Database.Groundhog.TH.SettingsDatabase.Groundhog.TH.CodeGenDatabase.Groundhog.THgroundhog-0.4.0Database.Groundhog.GenericpsReferenceParentpsDefaultValue psEmbeddedDef psExprName psDbTypeName psDbFieldName psFieldName PSFieldDef PSAutoKeyDefpsAutoKeyConstrNamepsAutoKeyIsDefPSUniqueKeyDefpsUniqueKeyNamepsUniqueKeyPhantomNamepsUniqueKeyConstrNamepsUniqueKeyDbNamepsUniqueKeyFieldspsUniqueKeyMakeEmbeddedpsUniqueKeyIsDef PSUniqueDef psUniqueName psUniqueTypepsUniqueFieldsPSConstructorDef psConstrNamepsPhantomConstrNamepsDbConstrNamepsDbAutoKeyNamepsConstrFieldspsConstrUniques PSEmbeddedDefpsEmbeddedNamepsDbEmbeddedNamepsEmbeddedFields PSEntityDef psDataNamepsDbEntityNamepsEntitySchema psAutoKey psUniqueKeyspsConstructorsTHUniqueKeyDefthUniqueKeyNamethUniqueKeyPhantomNamethUniqueKeyConstrNamethUniqueKeyDbNamethUniqueKeyFieldsthUniqueKeyMakeEmbeddedthUniqueKeyIsDef THUniqueDef thUniqueName thUniqueTypethUniqueFields THFieldDef thFieldName thDbFieldName thDbTypeName thExprName thFieldType thEmbeddedDefthDefaultValuethReferenceParentTHConstructorDef thConstrNamethPhantomConstrNamethDbConstrNamethDbAutoKeyNamethConstrFieldsthConstrUniques THEmbeddedDefthEmbeddedNamethEmbeddedConstructorNamethDbEmbeddedNamethEmbeddedTypeParamsthEmbeddedFields THAutoKeyDefthAutoKeyConstrNamethAutoKeyIsDef THEntityDef thDataNamethDbEntityNamethEntitySchema thAutoKey thUniqueKeys thTypeParamsthConstructorsPersistDefinitions definitionsmkEmbeddedPersistFieldInstance"mkEmbeddedPurePersistFieldInstancemkAutoKeyPersistFieldInstance&mkAutoKeyPrimitivePersistFieldInstancemkUniqueKeysIsUniqueInstancesmkUniqueKeysEmbeddedInstances!mkUniqueKeysPersistFieldInstances0mkUniqueKeysPrimitiveOrPurePersistFieldInstancesmkKeyEqShowInstancesmkEmbeddedInstancemkEntityPhantomConstructors#mkEntityPhantomConstructorInstancesmkEntityUniqueKeysPhantomsmkPersistEntityInstancemkEntityPersistFieldInstance"mkEntitySinglePersistFieldInstancemkEntityNeverNullInstancemkMigrateFunction NamingStylemkDbEntityNamemkEntityKeyName mkPhantomNamemkUniqueKeyPhantomNamemkUniqueKeyConstrNamemkUniqueKeyDbNamemkDbConstrNamemkDbConstrAutoKeyName mkDbFieldNamemkExprFieldNamemkExprSelectorNamemkNormalFieldNamemkNormalDbFieldNamemkNormalExprFieldNamemkNormalExprSelectorName CodegenConfig namingStylemigrationFunctiondefaultCodegenConfigsuffixNamingStylepersistentNamingStyleconciseNamingStylelowerCaseSuffixNamingStyle mkPersist toUnderscore groundhog groundhogFile$fFromJSONPSAutoKeyDef$fFromJSONPSUniqueKeyDef$fFromJSONPSFieldDef$fFromJSONReferenceActionType$fFromJSONUniqueType$fFromJSONPSUniqueDef$fFromJSONPSConstructorDef$fFromJSONPSEmbeddedDef$fFromJSONPSEntityDef$fFromJSONEither$fFromJSONPersistDefinitions$fLiftPSAutoKeyDef$fLiftPSUniqueKeyDef$fLiftPSFieldDef$fLiftReferenceActionType$fLiftUniqueType$fLiftPSUniqueDef$fLiftPSConstructorDef$fLiftPSEmbeddedDef$fLiftPSEntityDef$fLiftPersistDefinitionsmkFromPersistValuesmkPurePersistFieldInstance!mkDefaultPurePersistFieldInstance#mkDefaultSinglePersistFieldInstancemkEmbeddedInstance'mkToPurePersistValuesisDefaultKeyOneColumn getDefaultKey paramsContextparamsPureContext extractTypeisPrimfoldType hasFreeVars insideMaybespanMmkTypeapplyEntitySettings mkUniqueKeyapplyAutoKeySettingsapplyConstructorSettingsapplyFieldSettingsapplyEmbeddedSettingsmkFieldsForUniqueKey notUniqueBy assertUniqueassertSpaceFreevalidateEntity validateFieldvalidateEmbeddedmkTHEntityDefWithmkTHEmbeddedDefWith firstLetterparseDefinitions mkEntityDecsmkEmbeddedDecs