The portable, versioned source representation of a Baton flow.
Definitions contain only JSON-compatible data and are independent of any database or host application. A host may store them in Ecto, Git, files, or another service, then pass the decoded definition to Baton for validation, compilation, execution, and projection.
Summary
Functions
The newest definition wire-format version understood by this Baton release.
Decode a JSON definition.
Dump a definition to a JSON-compatible, string-keyed map.
Encode a definition as JSON.
Load and validate the shape of a definition map.
Types
@type t() :: %Baton.Flow.Definition{ format: pos_integer(), key: String.t(), metadata: map(), name: String.t(), nodes: [Baton.Flow.NodeSpec.t()] }
Functions
The newest definition wire-format version understood by this Baton release.
Decode a JSON definition.
Dump a definition to a JSON-compatible, string-keyed map.
@spec encode(t()) :: {:ok, String.t()} | {:error, Jason.EncodeError.t()}
Encode a definition as JSON.
Load and validate the shape of a definition map.