Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype Dependencies = Dependencies {
- unDependencies :: Set (Ref Table)
- newtype Artifacts = Artifacts {
- unArtifacts :: Set (Ref Table)
- interceptSqlReadDiscoverDependencies :: forall b r a. Members [Output Dependencies, Input (Transformed HiddenDependencies), SqlRead b] r => Sem r a -> Sem r a
- interceptSqlWriteDiscoverDependencies :: forall b r a. (Members [Output Dependencies, Output Artifacts, Input (Transformed HiddenDependencies), Input (Transformed HiddenArtifacts), SqlWrite b] r, Show (BackendTableMeta b), Show (BackendViewMeta b), Show (BackendMaterializedViewMeta b)) => Sem r a -> Sem r a
- interceptExternalCreateReportDependencies :: forall effs a. Members [Output Dependencies, Output Artifacts, Input (Transformed HiddenDependencies), Input (Transformed HiddenArtifacts), Input (Transformed TargetName), ExternalCreate] effs => Sem effs a -> Sem effs a
- reportDependencies :: Members [Output Dependencies, Input (Transformed HiddenDependencies)] r => Set (Ref Table) -> Sem r ()
- reportArtifact :: Members [Output Artifacts, Input (Transformed HiddenArtifacts)] r => Ref Table -> Sem r ()
Documentation
newtype Dependencies #
Instances
Eq Dependencies # | |
Defined in Napkin.Run.Effects.Interceptors.DiscoverDependencies (==) :: Dependencies -> Dependencies -> Bool # (/=) :: Dependencies -> Dependencies -> Bool # | |
Semigroup Dependencies # | |
Defined in Napkin.Run.Effects.Interceptors.DiscoverDependencies (<>) :: Dependencies -> Dependencies -> Dependencies # sconcat :: NonEmpty Dependencies -> Dependencies # stimes :: Integral b => b -> Dependencies -> Dependencies # | |
Monoid Dependencies # | |
Defined in Napkin.Run.Effects.Interceptors.DiscoverDependencies mempty :: Dependencies # mappend :: Dependencies -> Dependencies -> Dependencies # mconcat :: [Dependencies] -> Dependencies # |
Artifacts | |
|
interceptSqlReadDiscoverDependencies :: forall b r a. Members [Output Dependencies, Input (Transformed HiddenDependencies), SqlRead b] r => Sem r a -> Sem r a #
Find all dependencies used in the given program. This incorporates both hidden and forcefully added dependencies in its report-out, and so it can be used for resolving dependencies in Spec.
TODO. This interceptor should probably get an Assertion dependence so that it can emit ValidationFailure when encountering table names with an asterisk in them but without a fully qualified xdep that matches the pattern. So we can warn user that they need to provide the dependency. Plus any other validations that should be performed during this operation.
interceptSqlWriteDiscoverDependencies :: forall b r a. (Members [Output Dependencies, Output Artifacts, Input (Transformed HiddenDependencies), Input (Transformed HiddenArtifacts), SqlWrite b] r, Show (BackendTableMeta b), Show (BackendViewMeta b), Show (BackendMaterializedViewMeta b)) => Sem r a -> Sem r a #
interceptExternalCreateReportDependencies :: forall effs a. Members [Output Dependencies, Output Artifacts, Input (Transformed HiddenDependencies), Input (Transformed HiddenArtifacts), Input (Transformed TargetName), ExternalCreate] effs => Sem effs a -> Sem effs a #
reportDependencies :: Members [Output Dependencies, Input (Transformed HiddenDependencies)] r => Set (Ref Table) -> Sem r () #
reportArtifact :: Members [Output Artifacts, Input (Transformed HiddenArtifacts)] r => Ref Table -> Sem r () #