Safe Haskell | None |
---|---|
Language | GHC2021 |
Synopsis
- newtype Dependencies = Dependencies {
- unDependencies :: Set (Ref Table)
- newtype Artifacts = Artifacts {
- unArtifacts :: Set (Ref Table)
- interceptSqlReadDiscoverDependencies :: forall {k} (b :: k) (r :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a
- interceptAnnotateWriteDiscoverDependencies :: forall {k} (b :: k) (r :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, AnnotateWrite b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a
- interceptAnnotateReadDiscoverDependencies :: forall {k} (b :: k) (r :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, AnnotateRead b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a
- interceptSqlWriteDiscoverDependencies :: forall b (r :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Output Artifacts :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenArtifacts) :: (Type -> Type) -> Type -> Type, SqlWrite b :: (Type -> Type) -> Type -> Type, AnnotateWrite b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a
- annotateTablesFromQueries :: forall b (r :: EffectRow) a. Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, AnnotateWrite b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a
- interceptExternalReportDependencies :: forall (effs :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Output Artifacts :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenArtifacts) :: (Type -> Type) -> Type -> Type, Input (Transformed TargetName) :: (Type -> Type) -> Type -> Type, External :: (Type -> Type) -> Type -> Type] effs => Sem effs a -> Sem effs a
- reportDependencies :: forall (r :: EffectRow). Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type] r => Set (Ref Table) -> Sem r ()
- reportArtifact :: forall (r :: EffectRow). Members '[Output Artifacts :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenArtifacts) :: (Type -> Type) -> Type -> Type] r => Ref Table -> Sem r ()
Documentation
newtype Dependencies #
Instances
Monoid Dependencies # | |
Defined in Napkin.Run.Effects.Interceptors.DiscoverDependencies mempty :: Dependencies # mappend :: Dependencies -> Dependencies -> Dependencies # mconcat :: [Dependencies] -> Dependencies # | |
Semigroup Dependencies # | |
Defined in Napkin.Run.Effects.Interceptors.DiscoverDependencies (<>) :: Dependencies -> Dependencies -> Dependencies # sconcat :: NonEmpty Dependencies -> Dependencies # stimes :: Integral b => b -> Dependencies -> Dependencies # | |
Eq Dependencies # | |
Defined in Napkin.Run.Effects.Interceptors.DiscoverDependencies (==) :: Dependencies -> Dependencies -> Bool # (/=) :: Dependencies -> Dependencies -> Bool # |
Artifacts | |
|
interceptSqlReadDiscoverDependencies :: forall {k} (b :: k) (r :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type] 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.
interceptAnnotateWriteDiscoverDependencies :: forall {k} (b :: k) (r :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, AnnotateWrite b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a #
interceptAnnotateReadDiscoverDependencies :: forall {k} (b :: k) (r :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, AnnotateRead b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a #
interceptSqlWriteDiscoverDependencies :: forall b (r :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Output Artifacts :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenArtifacts) :: (Type -> Type) -> Type -> Type, SqlWrite b :: (Type -> Type) -> Type -> Type, AnnotateWrite b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a #
annotateTablesFromQueries :: forall b (r :: EffectRow) a. Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, AnnotateWrite b :: (Type -> Type) -> Type -> Type] r => Sem r a -> Sem r a #
interceptExternalReportDependencies :: forall (effs :: EffectRow) a. Members '[Output Dependencies :: (Type -> Type) -> Type -> Type, Output Artifacts :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenDependencies) :: (Type -> Type) -> Type -> Type, Input (Transformed HiddenArtifacts) :: (Type -> Type) -> Type -> Type, Input (Transformed TargetName) :: (Type -> Type) -> Type -> Type, External :: (Type -> Type) -> Type -> Type] effs => Sem effs a -> Sem effs a #