!8'5     None"#&',.18>HPSUVX mockazoThe default name for the actionmockazo+Converts a name to the equivalent titleized  > titleizeName $ mkName "action"Name ActionmockazoBConverts a function type into a list of types, skipping the arrowsmockazo=Creates a list of n elements from the sequence from a' to z'mockazo;Creates a list of n elements from the sequence from a to z  None"#&',.18>HPSUVXmockazoBGenerates a GADT definition for actions for a record of functions.For example, for a record like data Component context = Component { info :: Text -> context () , success :: Text -> context () , fail :: Text -> context () , debug :: Text -> context () , start :: Text -> context () , ask :: Text -> Text -> context Text } it will generate the actions: data Action a where Info :: Text -> Action () Success :: Text -> Action () Fail :: Text -> Action () Debug :: Text -> Action () Start :: Text -> Action () Ask :: Text -> Text -> Action Text mockazo4Generates a GADT constructor based on a record fieldmockazo/Substitutes the context type variable by ActionmockazoOmit strictness and unpackingmockazo:Generate a GADT definition based on a list of constructorsNone"#&',.18>HPSUVX mockazo5Generates an instance for IsAction based on a record.For a record like data Component context = Component { rootDir :: ProjectName -> context (Path Rel Dir) , getProjectConfig :: ProjectName -> context ProjectConfig , initProject :: Path Rel Dir -> ProjectConfig -> context () } It will generate an instance like @ instance IsAction Action where eqAction (RootDir a) (RootDir b) = if a == b then Just Refl else Nothing^eqAction (GetProjectConfig a) (GetProjectConfig b) = if a == b then Just Refl else NothingfeqAction (InitProject a a') (InitProject b b') = if a == b && a' == b' then Just Refl else NothingeqAction _ _ = Nothing @None"#&',.18>HPSUVX!yNone"#&',.18>HPSUVX'mockazoGenerates all the required things to work with a mock: * A data type representing the component methods (Actions) * The proper instantiation of IsAction for this data type * A mock function to be used instead of new.iThe only requirement is that all the methods of the component must return something wrapped in a context.None"#&',.18>HPSUVX4mockazoTClass that all actions must implement in order to work with the rest of the library.You only need to implement mockazo6Operator to specify that an action returns some resultmockazoSConstraint to specify that some actions contain the type of actions to be executed. mockazoYContext that gets injected to the components to store the values that are being executed.mThese actions will be compared during the tests with the ones that you expect, failing in case of a mismatch. mockazo0Runs the mock context and all the checks with it mockazoKSpecify the expected actions for a given component to expect to be executed mockazoUtility function to be used in the creation of the mock components, so the methods store action values instead of executing anything else    None"#&',.18>HPSUVX5 !"#$%&'       !"#$%!!&'()*+,-.#mockazo-0.1.0-HzcwhL5wE9aZTlMmzYNPOData.Component.MockData.Component.Mock.TH.CommonData.Component.Mock.TH.GadtData.Component.Mock.TH.Instance"Data.Component.Mock.TH.NewFunctionData.Component.Mock.TH Paths_mockazobaseData.Type.EqualityRefl:~:makeMockIsActioneqAction showAction WithResult:->Executes InContextOfrunMock withActions mockAction actionName titleizeNamefunctionTypeToList makePrimeVarsmakeVarsFieldnameargumentsLengthtoFieldtoVarExpmakeconstructorFromFieldsubstituteReturnContextnoBangdefaultDefinitionversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName