Skip to main content

Module draft

Module draft 

Source
Expand description

Transaction-draft accumulator for render-only template execution.

A template is per-user nomiscript source that, when rendered, calls the draft natives (set-draft-note, set-draft-date, draft-split, draft-tag) to describe a not-yet-persisted transaction. Those natives mutate a TransactionDraft held in the session’s Store data; the render entry point reads it back via store.into_data() after the program runs. Nothing here touches the database — the draft is pure intent the web/CLI layer turns into a pre-filled new-transaction form.

Structs§

DraftSplit
One split line a template requested: an account + commodity (both by uuid string, resolved by the template via get-account/get-commodity), a rational amount, and any per-split tags the template attached via draft-split-tag.
DraftTag
A (name, value) tag a template asked to attach to the drafted transaction.
TransactionDraft
The accumulated result of rendering a template: everything needed to pre-fill a new-transaction form. All fields are optional/append-only; a template sets what it knows and leaves the rest for the user.