Safe Haskell | None |
---|---|
Language | GHC2024 |
Napkin.Cli.Interactive.Interactive
Synopsis
- data SpecFolders = SpecFolders {}
- data InteractiveRuntimeEnv
- data InteractiveCommandOptions = InteractiveCommandOptions {}
- type InteractiveCLICommand = NapkinExceptIO InteractiveRuntimeEnv
- data InteractiveActionEnv b = InteractiveActionEnv {}
- type InteractiveAction e = forall b. ValidateSpecsRequirements b => InteractiveActionEnv b -> IO (Either e ())
- class ToInteractiveOptions a where
- chooseInteractiveCommand :: ToNapkinError e => InteractiveCommandOptions -> LogOptions -> InteractiveAction e -> CLICommand
- reloadableAction :: ToNapkinError e => Maybe SpecFolders -> Maybe RuntimeEnv -> InteractiveCommandOptions -> LogOptions -> InteractiveAction e -> InteractiveCLICommand
- autoReloadAction :: ToNapkinError e => InteractiveCommandOptions -> LogOptions -> InteractiveAction e -> CLICommand
- readSpecFolders :: (MonadIO m, InterpreterBackendSupport b) => SpecFilesWithOverrides -> YamlSpec b -> m SpecFolders
Documentation
data SpecFolders #
Constructors
SpecFolders | |
Instances
Eq SpecFolders # | |
Defined in Napkin.Cli.Interactive.Interactive |
data InteractiveRuntimeEnv #
Constructors
EnvNotLoaded | |
EnvLoaded RuntimeEnv | |
EnvNeedsReload |
data InteractiveCommandOptions #
Constructors
InteractiveCommandOptions | |
Fields |
Instances
data InteractiveActionEnv b #
Constructors
InteractiveActionEnv | |
Fields
|
type InteractiveAction e = forall b. ValidateSpecsRequirements b => InteractiveActionEnv b -> IO (Either e ()) #
class ToInteractiveOptions a where #
Methods
Instances
chooseInteractiveCommand :: ToNapkinError e => InteractiveCommandOptions -> LogOptions -> InteractiveAction e -> CLICommand #
Choose whether to run a reloadable acton interactively or not.
reloadableAction :: ToNapkinError e => Maybe SpecFolders -> Maybe RuntimeEnv -> InteractiveCommandOptions -> LogOptions -> InteractiveAction e -> InteractiveCLICommand #
Run a reloadable action.
autoReloadAction :: ToNapkinError e => InteractiveCommandOptions -> LogOptions -> InteractiveAction e -> CLICommand #
Wait for a spec file or a Haskell file to change and reload action.
readSpecFolders :: (MonadIO m, InterpreterBackendSupport b) => SpecFilesWithOverrides -> YamlSpec b -> m SpecFolders #