A recursively typed value for provider-defined dynamic JSON.
A dynamic JSON value without untyped object maps.
Serialize a typed dynamic value at the wire boundary.
Parse a value at the wire boundary.
@type t() :: %CalCom.Json{ kind: :scalar | :array | :object, value: String.t() | number() | boolean() | nil | [t()] | [{String.t(), t()}] }
@spec encode(t()) :: term()
@spec parse(term()) :: {:ok, t()} | :error