Predicator.Functions.JSONFunctions (predicator v3.5.0)

View Source

JSON manipulation functions for Predicator expressions.

Provides SCXML-compatible JSON functions for serializing and parsing data.

Available Functions

  • JSON.stringify(value) - Converts a value to a JSON string
  • JSON.parse(string) - Parses a JSON string into a value

Examples

iex> {:ok, result} = Predicator.evaluate("JSON.stringify(user)",
...>   %{"user" => %{"name" => "John", "age" => 30}},
...>   functions: Predicator.Functions.JSONFunctions.all_functions())
iex> result
~s({"age":30,"name":"John"})

iex> {:ok, result} = Predicator.evaluate("JSON.parse(data)",
...>   %{"data" => ~s({"status":"ok"})},
...>   functions: Predicator.Functions.JSONFunctions.all_functions())
iex> result
%{"status" => "ok"}

Summary

Functions

all_functions()

@spec all_functions() :: %{required(binary()) => {non_neg_integer(), function()}}