h$;^5>      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None '(?persistent-mtlThe data type containing a constructor for each persistent function we'd like to lift into .The record type parameter contains the ! types used in a given function.We're using a free-monads-like technique here to allow us to introspect persistent functions in ., e.g. to mock out persistent calls in tests.persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to  persistent-mtlConstructor corresponding to  persistent-mtlConstructor corresponding to  persistent-mtlConstructor corresponding to  persistent-mtlConstructor corresponding to  persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to persistent-mtlConstructor corresponding to  persistent-mtlConstructor corresponding to !persistent-mtlConstructor corresponding to "persistent-mtlConstructor corresponding to #persistent-mtlConstructor corresponding to $persistent-mtlConstructor corresponding to %persistent-mtlConstructor corresponding to &persistent-mtlConstructor corresponding to 'persistent-mtlConstructor corresponding to (persistent-mtlConstructor corresponding to )persistent-mtlConstructor corresponding to *persistent-mtlConstructor corresponding to +persistent-mtlConstructor corresponding to ,persistent-mtlConstructor corresponding to -persistent-mtlConstructor corresponding to .persistent-mtlConstructor corresponding to /persistent-mtlConstructor corresponding to 0persistent-mtlConstructor corresponding to 1persistent-mtlConstructor corresponding to 2persistent-mtlConstructor corresponding to 3persistent-mtlConstructor corresponding to 4persistent-mtlConstructor corresponding to 5persistent-mtlConstructor corresponding to 6persistent-mtlConstructor corresponding to 7persistent-mtlConstructor corresponding to 8persistent-mtlConstructor corresponding to 9persistent-mtlConstructor corresponding to :persistent-mtlConstructor corresponding to ;persistent-mtlConstructor corresponding to <persistent-mtlConstructor corresponding to =persistent-mtlConstructor corresponding to >persistent-mtlConstructor corresponding to ?persistent-mtlConstructor corresponding to @persistent-mtlConstructor corresponding to Apersistent-mtlConstructor corresponding to Bpersistent-mtlConstructor corresponding to Cpersistent-mtlConstructor corresponding to Dpersistent-mtlConstructor corresponding to Epersistent-mtlA helper to execute the actual  persistent! function corresponding to each  data constructor..@  !"#$%&'()*+,-/0123456789:;<=>?ABCDE.@  !"#$%&'()*+,-/0123456789:;<=>?ABCDENoneYGpersistent-mtlThe type-class for monads that can run persistent database queries.Hpersistent-mtlThe main function that interprets a SQL query operation and runs it in the monadic context.Ipersistent-mtlRun all queries in the given action using the same database connection.You should make sure to not fork any threads within this action. This will almost certainly cause problems. :https://github.com/brandonchinn178/persistent-mtl/issues/7GIHGIHNone'(?$2Tpersistent-mtlThe lifted version of Upersistent-mtlThe lifted version of Vpersistent-mtlThe lifted version of Wpersistent-mtlThe lifted version of Xpersistent-mtlThe lifted version of Ypersistent-mtlThe lifted version of Zpersistent-mtlThe lifted version of [persistent-mtlThe lifted version of \persistent-mtlThe lifted version of ]persistent-mtlThe lifted version of ^persistent-mtlThe lifted version of _persistent-mtlThe lifted version of `persistent-mtlThe lifted version of apersistent-mtlThe lifted version of bpersistent-mtlThe lifted version of cpersistent-mtlThe lifted version of dpersistent-mtlThe lifted version of epersistent-mtlThe lifted version of fpersistent-mtlThe lifted version of gpersistent-mtlThe lifted version of hpersistent-mtlThe lifted version of ipersistent-mtlThe lifted version of jpersistent-mtlThe lifted version of kpersistent-mtlThe lifted version of lpersistent-mtlThe lifted version of mpersistent-mtlThe lifted version of npersistent-mtlThe lifted version of opersistent-mtlThe lifted version of ppersistent-mtlThe lifted version of qpersistent-mtlThe lifted version of rpersistent-mtlThe lifted version of spersistent-mtlThe lifted version of tpersistent-mtlThe lifted version of upersistent-mtlThe lifted version of vpersistent-mtlThe lifted version of wpersistent-mtlThe lifted version of xpersistent-mtlThe lifted version of ypersistent-mtlThe lifted version of zpersistent-mtlThe lifted version of {persistent-mtlThe lifted version of |persistent-mtlThe lifted version of }persistent-mtlThe lifted version of ~persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtlThe lifted version of persistent-mtl-A helper for functions that return a conduit.TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None #$%'(%persistent-mtl&The monad transformer that implements G.persistent-mtlRun the * monad transformer with the given backend..@  !"#$%&'()*+,-/0123456789:;<=>?ABCDGITUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~GI.@  !"#$%&'()*+,-/0123456789:;<=>?ABCDNone '(4 persistent-mtlA mocked query to use in .Use  or another helper to create a .persistent-mtl3A monad transformer for testing functions that use G.persistent-mtlRuns a ) monad transformer using the given mocks.When a database query is executed, the first mock that returns a  is returned. If no mocks match the query, an error is thrown. See  for the constructors available to match against. Most of the time, you'll want to use * to only match queries against a specific record type (e.g. only match  calls for the Person entity).Usage: myFunction :: MonadSqlQuery m => m [String] myFunction = map personName  $ selectList [PersonAge >. 25] [] let persons = [Person ...] result <- runMockSqlQueryT myFunction [ withRecord @Person $ \case SelectList _ _ -> Just persons _ -> Nothing , withRecord @Post $ \case Insert Post{ name = "post1" } -> Just $ toSqlKey 1 _ -> Nothing , mockQuery $ \case RawExecuteCount "DELETE FROM person WHERE name = 'Alice'" [] -> Just 1 _ -> Nothing ] persistent-mtlA helper for defining a mocked database query against a specific record2 type. Designed to be used with TypeApplications.Most / constructors are in the context of a specific record type, like Person. This helper only matches mocked database queries that are querying the record you specify.%Some constructors reference multiple record types, like . Look at the type to see the record you need to match against. For example, :withRecord @(Person, Post) $ \case BelongsTo _ _ -> ... would match the function call belongsTo :: (Person -> Maybe (Key Post)) -> Person -> SqlQueryRep (Person, Post) (Maybe Post) persistent-mtl.A helper for defining a mocked database query.%This does not do any matching on the record> type, so it is mostly useful for queries that don't use the record type, like  .persistent-mtlA helper for mocking a   or   call.Usage: mockSelectSource $ \filters opts -> if null filters && null opts then let person1 = [Entity (toSqlKey 1) $ Person "Alice"] person2 = [Entity (toSqlKey 2) $ Person "Bob"] in Just [person1, person2] else Nothing persistent-mtlA helper for mocking a   or   call.Usage: mockSelectKeys $ \filters opts -> if null filters && null opts then Just $ map toSqlKey [1, 2] else Nothing persistent-mtlA helper for mocking a  call.Usage: mockWithRawQuery $ \sql vals -> if sql == "SELECT id, name FROM person" then let row1 = [toPersistValue 1, toPersistValue "Alice"] row2 = [toPersistValue 2, toPersistValue "Bob"] in Just [row1, row2] else Nothing persistent-mtlA helper for mocking a  or  call.Usage: mockRawQuery $ \sql vals -> if sql == "SELECT id, name FROM person" then let row1 = [toPersistValue 1, toPersistValue "Alice"] row2 = [toPersistValue 2, toPersistValue "Bob"] in Just [row1, row2] else Nothing persistent-mtlA helper for mocking a  call.Usage: mockRawSql $ \sql vals -> if sql == "SELECT id, name FROM person" then let row1 = [toPersistValue 1, toPersistValue "Alice"] row2 = [toPersistValue 2, toPersistValue "Bob"] in Just [row1, row2] else Nothing   Safe-Inferred5) !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     efghijklmnopqrstuvwxyz{|}~     -persistent-mtl-0.1.0.0-G7k4mZUjG7HKwthQ3dcSdw"Database.Persist.Monad.SqlQueryRepDatabase.Persist.Monad.ClassDatabase.Persist.Monad.ShimDatabase.Persist.Monad Database.Persist.Monad.TestUtils MonadSqlQuery selectList BelongsTo rawExecute selectSourceselectSourceRes selectKeys selectKeysRes withRawQueryrawQuery rawQueryResrawSqlPaths_persistent_mtl SqlQueryRepGetGetManyGetJust GetJustEntity GetEntity BelongsToJustInsertInsert_ InsertMany InsertMany_InsertEntityMany InsertKeyRepsert RepsertManyReplaceDeleteUpdate UpdateGet InsertEntity InsertRecordGetBy GetByValue CheckUniqueCheckUniqueUpdateableDeleteBy InsertUniqueUpsertUpsertByPutManyInsertByInsertUniqueEntity ReplaceUnique OnlyUniqueSelectSourceRes SelectFirst SelectKeysResCountExists SelectListSelectKeysList UpdateWhere DeleteWhereDeleteWhereCountUpdateWhereCount DeleteCascadeDeleteCascadeWhereParseMigrationParseMigration'PrintMigration ShowMigration GetMigration RunMigrationRunMigrationQuietRunMigrationSilentRunMigrationUnsafeRunMigrationUnsafeQuiet GetFieldName GetTableName WithRawQuery RawQueryRes RawExecuteRawExecuteCountRawSqlTransactionSaveTransactionSaveWithIsolationTransactionUndoTransactionUndoWithIsolationrunSqlQueryRep$fShowSqlQueryRep runQueryRepwithTransaction$fMonadSqlQueryWriterT$fMonadSqlQueryWriterT0$fMonadSqlQueryStateT$fMonadSqlQueryStateT0$fMonadSqlQueryRWST$fMonadSqlQueryRWST0$fMonadSqlQueryMaybeT$fMonadSqlQueryIdentityT$fMonadSqlQueryExceptT$fMonadSqlQueryReaderTgetgetManygetJust getJustEntity getEntity belongsTo belongsToJustinsertinsert_ insertMany insertMany_insertEntityMany insertKeyrepsert repsertManyreplacedeleteupdate updateGet insertEntity insertRecordgetBy getByValue checkUniquecheckUniqueUpdateabledeleteBy insertUniqueupsertupsertByputManyinsertByinsertUniqueEntity replaceUnique onlyUnique selectFirstcountexistsselectKeysList updateWhere deleteWheredeleteWhereCountupdateWhereCount deleteCascadedeleteCascadeWhereparseMigrationparseMigration'printMigration showMigration getMigration runMigrationrunMigrationQuietrunMigrationSilentrunMigrationUnsaferunMigrationUnsafeQuiet getFieldName getTableNamerawExecuteCounttransactionSavetransactionSaveWithIsolationtransactionUndotransactionUndoWithIsolation fromAcquire SqlQueryT runSqlQueryT$fMonadUnliftIOSqlQueryT$fMonadSqlQuerySqlQueryT$fFunctorSqlQueryT$fApplicativeSqlQueryT$fMonadSqlQueryT$fMonadIOSqlQueryT$fMonadTransSqlQueryT$fMonadResourceSqlQueryT MockQuery MockSqlQueryTrunMockSqlQueryT withRecord mockQuerymockSelectSourcemockSelectKeysmockWithRawQuery mockRawQuery mockRawSql$fMonadSqlQueryMockSqlQueryT$fFunctorMockSqlQueryT$fApplicativeMockSqlQueryT$fMonadMockSqlQueryT$fMonadIOMockSqlQueryT$fMonadResourceMockSqlQueryT*persistent-2.11.0.1-BY99iOaYrXx93Edojdd7fl$Database.Persist.Class.PersistEntity PersistEntity#Database.Persist.Class.PersistStore$Database.Persist.Class.PersistUnique#Database.Persist.Class.PersistQuery(Database.Persist.Sql.Orphan.PersistQuery$Database.Persist.Class.DeleteCascadeDatabase.Persist.Sql.Migration(Database.Persist.Sql.Orphan.PersistStoreDatabase.Persist.Sql.RawDatabase.Persist.Sqlbase GHC.MaybeJustversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName