# `Artefact.Arrows`
[🔗](https://github.com/diffo-dev/artefactory/blob/v0.2.0/lib/artefact/arrows.ex#L4)

Encode and decode between `%Artefact{}` and Arrows JSON.

`to_json/1` exports the canonical struct to Arrows JSON for interchange and
visual editing. `from_json/2` imports Arrows JSON — for example, from the
Arrows graph editor — back into a struct.

Fields dropped on import (render concerns only):
- `caption` on nodes — no Cypher equivalent
- `style` at all levels — renderer's responsibility

# `from_json`

Parse Arrows JSON string into an `%Artefact{}`. Returns `{:ok, artefact}` or `{:error, reason}`.

# `from_json!`

Parse Arrows JSON string, raising on error.

# `to_json`

Encode an `%Artefact{}` to Arrows JSON string.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
