HostKit.Package.Lock (host_kit v0.1.0-beta.1)

Copy Markdown View Source

JSON lock file for resolved target package names.

Summary

Functions

Decodes a JSON string into this struct.

Decodes a JSON string into this struct, raising on failure.

Dumps this struct into JSON-shaped data, respecting JSON field names.

Builds this struct from a decoded JSON map.

Builds this struct from a decoded JSON map, raising on failure.

Returns a JSON Schema-compatible schema map.

Returns a JSON Schema-compatible schema map.

Converts this struct into a JSON-shaped map.

Types

t()

@type t() :: %HostKit.Package.Lock{
  packages: %{required(String.t()) => String.t()},
  target: String.t() | nil,
  version: pos_integer()
}

Functions

decode(json)

Decodes a JSON string into this struct.

decode!(json)

Decodes a JSON string into this struct, raising on failure.

dump(struct)

Dumps this struct into JSON-shaped data, respecting JSON field names.

from_map(map)

Builds this struct from a decoded JSON map.

from_map!(map)

Builds this struct from a decoded JSON map, raising on failure.

get(lock, name, repo)

@spec get(t(), atom() | String.t(), String.t() | Regex.t()) ::
  {:ok, String.t()} | :error | {:error, term()}

json_schema()

Returns a JSON Schema-compatible schema map.

load(path)

@spec load(Path.t()) :: {:ok, t()} | {:error, term()}

load!(path)

@spec load!(Path.t()) :: t()

put(lock, name, package, target)

@spec put(t(), atom() | String.t(), String.t(), String.t()) :: t()

save(path, lock)

@spec save(Path.t(), t()) :: :ok | {:error, term()}

schema()

Returns a JSON Schema-compatible schema map.

to_map(struct)

Converts this struct into a JSON-shaped map.

validate_version!(version)