Deterministic CUE schema exporter for compiled JevDSL.Contract catalogs.
Summary
Functions
Serializes a map of compiled JevDSL.Contract structs into a deterministic CUE schema string.
Functions
@spec export(%{optional(atom() | String.t()) => 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}"