niffler_precompiled/manifest
Manifest model: priv/niffler.json.
The manifest is the trust anchor shipped inside the immutable Hex package. It maps (target, nif_version) pairs to release artifacts and their SHA-256 digests.
Types
pub type Artifact {
Artifact(
target: String,
nif_version: String,
file: String,
sha256: String,
size: Int,
)
}
Constructors
-
Artifact( target: String, nif_version: String, file: String, sha256: String, size: Int, )
pub type Manifest {
Manifest(
package: String,
version: String,
nif_module: String,
crate: String,
source_path: String,
base_url: String,
artifacts: List(Artifact),
)
}
Constructors
-
Manifest( package: String, version: String, nif_module: String, crate: String, source_path: String, base_url: String, artifacts: List(Artifact), )
pub type SelectError {
NoTarget(target: String, available: List(String))
NoCompatible(
target: String,
runtime_nif_version: String,
available: List(String),
)
}
Constructors
-
NoTarget(target: String, available: List(String)) -
NoCompatible( target: String, runtime_nif_version: String, available: List(String), )
pub type ValidateOptions {
ValidateOptions(
allow_insecure_base_url: Bool,
require_artifacts: Bool,
)
}
Constructors
-
ValidateOptions( allow_insecure_base_url: Bool, require_artifacts: Bool, )
Values
pub fn default_validate_options() -> ValidateOptions
pub fn empty(
package: String,
version: String,
nif_module: String,
crate: String,
base_url: String,
) -> Manifest
pub fn find_artifact(
manifest: Manifest,
target: String,
nif_version: String,
) -> option.Option(Artifact)
pub const schema_version: Int
pub fn select_artifact(
manifest: Manifest,
target: String,
runtime_nif_version: String,
) -> Result(Artifact, SelectError)
Select the best artifact for target, preferring the newest compatible NIF
version.
pub fn validate(
manifest: Manifest,
options: ValidateOptions,
) -> Result(Nil, String)