dhall-1.32.0: A configuration language guaranteed to terminate

Safe Haskell | None
Language | Haskell2010

Dhall.Freeze

Contents

- Freeze
- Types

Description

This module contains the implementation of the `dhall freeze` subcommand

Synopsis

- freeze :: OutputMode -> Input -> Scope -> Intent -> CharacterSet -> Censor -> IO ()
- freezeExpression :: FilePath -> Scope -> Intent -> Expr s Import -> IO (Expr s Import)
- freezeImport :: FilePath -> Import -> IO Import
- freezeRemoteImport :: FilePath -> Import -> IO Import
- data Scope
  - = OnlyRemoteImports
  - | AllImports
- data Intent
  - = Secure
  - | Cache

# Freeze

freeze :: OutputMode -> Input -> Scope -> Intent -> CharacterSet -> Censor -> IO () Source #

Implementation of the `dhall freeze` subcommand

freezeExpression Source #

Arguments

:: FilePath | Starting directory
-> Scope |
-> Intent |
-> Expr s Import |
-> IO (Expr s Import) |

Slightly more pure version of the `freeze` function

This still requires `IO` to freeze the import, but now the input and output expression are passed in explicitly

freezeImport Source #

Arguments

:: FilePath | Current working directory
-> Import |
-> IO Import |

Retrieve an `Import` and update the hash to match the latest contents

freezeRemoteImport Source #

Arguments

:: FilePath | Current working directory
-> Import |
-> IO Import |

Freeze an import only if the import is a `Remote` import

# Types

data Scope Source #

Specifies which imports to freeze

Constructors

OnlyRemoteImports | Freeze only remote imports (i.e. URLs)
AllImports | Freeze all imports (including paths and environment variables)

data Intent Source #

Specifies why we are adding semantic integrity checks

Constructors

Secure | Protect imports with an integrity check without a fallback so that import resolution fails if the import changes
Cache | Protect imports with an integrity check and also add a fallback import import without an integrity check. This is useful if you only want to cache imports when possible but still gracefully degrade to resolving them if the semantic integrity check has changed.