Current section
Files
Jump to
Current section
Files
src/jackson.erl
-module(jackson).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([string/1, int/1, float/1, null/0, bool/1, array/1, object/1, parse/1, decode/2, to_string/1, to_string_builder/1, resolve_pointer/2]).
-spec string(binary()) -> jackson@internal@json:json().
string(Value) ->
{string, Value}.
-spec int(integer()) -> jackson@internal@json:json().
int(Value) ->
{integer, Value}.
-spec float(float()) -> jackson@internal@json:json().
float(Value) ->
{float, Value}.
-spec null() -> jackson@internal@json:json().
null() ->
null.
-spec bool(boolean()) -> jackson@internal@json:json().
bool(Value) ->
{bool, Value}.
-spec array(list(jackson@internal@json:json())) -> jackson@internal@json:json().
array(Entries) ->
{array, Entries}.
-spec object(list({binary(), jackson@internal@json:json()})) -> jackson@internal@json:json().
object(Entries) ->
{object, Entries}.
-spec parse(binary()) -> {ok, jackson@internal@json:json()} | {error, binary()}.
parse(In) ->
jackson@internal@parser:parse(In).
-spec decode(
jackson@internal@json:json(),
fun((gleam@dynamic:dynamic_()) -> {ok, GIA} |
{error, list(gleam@dynamic:decode_error())})
) -> {ok, GIA} | {error, list(gleam@dynamic:decode_error())}.
decode(Json, Decoder) ->
jackson@internal@decoder:decode(Json, Decoder).
-spec to_string(jackson@internal@json:json()) -> binary().
to_string(Json) ->
jackson@internal@encoder:to_string(Json).
-spec to_string_builder(jackson@internal@json:json()) -> gleam@string_builder:string_builder().
to_string_builder(Json) ->
jackson@internal@encoder:to_string_builder(Json).
-spec resolve_pointer(jackson@internal@json:json(), binary()) -> {ok,
jackson@internal@json:json()} |
{error, nil}.
resolve_pointer(Json, Pointer) ->
jackson@internal@resolver:resolve(Json, Pointer).