SquidMesh.Runtime.StepInput (squid_mesh v0.1.0-alpha.5)

Copy Markdown View Source

Step-execution input normalization for the runtime.

This module keeps payload/context merging and identifier normalization out of the main executor flow.

Summary

Types

expected_step()

@type expected_step() :: atom() | String.t() | nil

input_mapping()

@type input_mapping() :: [atom()] | nil

Functions

build_dependency_step_input(repo, run, input_mapping \\ nil)

@spec build_dependency_step_input(module(), SquidMesh.Run.t(), input_mapping()) ::
  map()

build_step_input(run, input_mapping \\ nil)

@spec build_step_input(SquidMesh.Run.t(), input_mapping()) :: map()

deserialize_expected_step(step)

@spec deserialize_expected_step(expected_step()) ::
  {:ok, atom() | nil} | {:error, {:invalid_step, String.t()}}

deserialize_expected_step(step, definition)

@spec deserialize_expected_step(expected_step(), map()) ::
  {:ok, atom() | nil} | {:error, {:invalid_step, String.t()}}

normalize_map_keys(map)

@spec normalize_map_keys(map()) :: map()