# `JevDSL.CUE`
[🔗](https://github.com/boxxxie/jev_dsl/blob/v0.1.0/lib/jev_dsl/cue.ex#L1)

Deterministic CUE schema exporter for compiled `JevDSL.Contract` catalogs.

# `export`

```elixir
@spec export(%{optional(atom() | String.t()) =&gt; JevDSL.Contract.t() | map()}) ::
  String.t()
```

Serializes a map of compiled `JevDSL.Contract` structs into a deterministic CUE schema string.

## Examples

    iex> q = %JevDSL.Question{name: :is_spam, type: :noul, instructions: "Spam?", criteria: %{}}
    iex> prep = SystemOneSDK.prepare!([is_spam: SystemOneSDK.noul("Spam?")])
    iex> contract = %JevDSL.Contract{name: :is_spam, questions: [q], prepared: prep}
    iex> JevDSL.CUE.export(%{is_spam: contract})
    "is_spam: {\n  is_spam: {\n    type: \"noul\"\n    instructions: \"Spam?\"\n    criteria: {}\n  }\n}"

---

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