-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, dynamic_to_json/1, 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, GJJ} | {error, list(gleam@dynamic:decode_error())}) ) -> {ok, GJJ} | {error, list(gleam@dynamic:decode_error())}. decode(Json, Decoder) -> jackson@internal@decoder:decode(Json, Decoder). -spec dynamic_to_json(gleam@dynamic:dynamic_()) -> {ok, jackson@internal@json:json()} | {error, list(gleam@dynamic:decode_error())}. dynamic_to_json(Dyn) -> jackson@internal@encoder:dynamic_to_json(Dyn). -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).