json/core

sourcejson/core.sx

yyjson_get_tag

pub extern (C) fn yyjson_get_tag(value: ref void) u8 = trust { ... } = "sx_yyjson_get_tag"

yyjson_get_type_desc

pub extern (C) fn yyjson_get_type_desc(value: ref void) ref u8 = trust { ... } = "sx_yyjson_get_type_desc"

yyjson_get_raw

pub extern (C) fn yyjson_get_raw(value: ref void) ref u8 = trust { ... } = "sx_yyjson_get_raw"

yyjson_get_len

pub extern (C) fn yyjson_get_len(value: ref void) usize = trust { ... } = "sx_yyjson_get_len"

yyjson_get_int

pub extern (C) fn yyjson_get_int(value: ref void) i64 = trust { ... } = "sx_yyjson_get_int"

yyjson_get_num

pub extern (C) fn yyjson_get_num(value: ref void) f64 = trust { ... } = "sx_yyjson_get_num"

yyjson_arr_get_first

pub extern (C) fn yyjson_arr_get_first(arr: ref void) ref void = trust { ... } = "sx_yyjson_arr_get_first"

yyjson_arr_get_last

pub extern (C) fn yyjson_arr_get_last(arr: ref void) ref void = trust { ... } = "sx_yyjson_arr_get_last"

yyjson_obj_getn

pub extern (C) fn yyjson_obj_getn(obj: ref void, key: ref u8, key_len: usize) ref void = trust { ... } = "sx_yyjson_obj_getn"

yyjson_obj_iter_init

pub extern (C) fn yyjson_obj_iter_init(obj: ref void, iter: ref void) bool = trust { ... } = "sx_yyjson_obj_iter_init"

yyjson_obj_iter_next

pub extern (C) fn yyjson_obj_iter_next(iter: ref void) ref void = trust { ... } = "sx_yyjson_obj_iter_next"

yyjson_obj_iter_get_val

pub extern (C) fn yyjson_obj_iter_get_val(iter_val: ref void) ref void = trust { ... } = "sx_yyjson_obj_iter_get_val"

yyjson_get_type

private
extern (C) fn yyjson_get_type(value: ref void) u8 = trust { ... } = "sx_yyjson_get_type"

yyjson_get_subtype

private
extern (C) fn yyjson_get_subtype(value: ref void) u8 = trust { ... } = "sx_yyjson_get_subtype"

yyjson_get_bool

private
extern (C) fn yyjson_get_bool(value: ref void) bool = trust { ... } = "sx_yyjson_get_bool"

yyjson_get_uint

private
extern (C) fn yyjson_get_uint(value: ref void) u64 = trust { ... } = "sx_yyjson_get_uint"

yyjson_get_sint

private
extern (C) fn yyjson_get_sint(value: ref void) i64 = trust { ... } = "sx_yyjson_get_sint"

yyjson_get_real

private
extern (C) fn yyjson_get_real(value: ref void) f64 = trust { ... } = "sx_yyjson_get_real"

yyjson_get_str

private
extern (C) fn yyjson_get_str(value: ref void) ref u8 = trust { ... } = "sx_yyjson_get_str"

yyjson_arr_size

private
extern (C) fn yyjson_arr_size(arr: ref void) usize = trust { ... } = "sx_yyjson_arr_size"

yyjson_arr_get

private
extern (C) fn yyjson_arr_get(arr: ref void, idx: usize) ref void = trust { ... } = "sx_yyjson_arr_get"

yyjson_mut_doc_new

private
extern (C) fn yyjson_mut_doc_new(alc: ref void) ref void = trust { ... } = "sx_yyjson_mut_doc_new"

yyjson_obj_size

private
extern (C) fn yyjson_obj_size(obj: ref void) usize = trust { ... } = "sx_yyjson_obj_size"

yyjson_obj_get

private
extern (C) fn yyjson_obj_get(obj: ref void, key: ref u8) ref void = trust { ... } = "sx_yyjson_obj_get"

yyjson_read_opts

private
extern (C) fn yyjson_read_opts(dat: ref u8, len: usize, flg: u32, alc: ref void, error: ref void) ref void = trust { ... } = "sx_yyjson_read_opts"

yyjson_doc_free

private
extern (C) fn yyjson_doc_free(doc: ref void) void = trust { ... } = "sx_yyjson_doc_free"

yyjson_doc_get_root

private
extern (C) fn yyjson_doc_get_root(doc: ref void) ref void = trust { ... } = "sx_yyjson_doc_get_root"

yyjson_write_opts

private
extern (C) fn yyjson_write_opts(doc: ref void, flg: u32, alc: ref void, len: ref usize, error: ref void) ref u8 = trust { ... } = "sx_yyjson_write_opts"

yyjson_mut_doc_free

private
extern (C) fn yyjson_mut_doc_free(doc: ref void) void = trust { ... } = "sx_yyjson_mut_doc_free"

yyjson_mut_write_opts

private
extern (C) fn yyjson_mut_write_opts(doc: ref void, flg: u32, alc: ref void, len: ref usize, error: ref void) ref u8 = trust { ... } = "sx_yyjson_mut_write_opts"

yyjson_mut_null

private
extern (C) fn yyjson_mut_null(doc: ref void) ref void = trust { ... } = "sx_yyjson_mut_null"

yyjson_mut_bool

private
extern (C) fn yyjson_mut_bool(doc: ref void, v: bool) ref void = trust { ... } = "sx_yyjson_mut_bool"

yyjson_mut_int

private
extern (C) fn yyjson_mut_int(doc: ref void, v: i64) ref void = trust { ... } = "sx_yyjson_mut_int"

yyjson_mut_uint

private
extern (C) fn yyjson_mut_uint(doc: ref void, v: u64) ref void = trust { ... } = "sx_yyjson_mut_uint"

yyjson_mut_real

private
extern (C) fn yyjson_mut_real(doc: ref void, v: f64) ref void = trust { ... } = "sx_yyjson_mut_real"

yyjson_mut_strcpy

private
extern (C) fn yyjson_mut_strcpy(doc: ref void, value: ref u8) ref void = trust { ... } = "sx_yyjson_mut_strcpy"

yyjson_mut_arr

private
extern (C) fn yyjson_mut_arr(doc: ref void) ref void = trust { ... } = "sx_yyjson_mut_arr"

yyjson_mut_obj

private
extern (C) fn yyjson_mut_obj(doc: ref void) ref void = trust { ... } = "sx_yyjson_mut_obj"

yyjson_mut_arr_append

private
extern (C) fn yyjson_mut_arr_append(arr: ref void, value: ref void) bool = trust { ... } = "sx_yyjson_mut_arr_append"

yyjson_mut_obj_add

private
extern (C) fn yyjson_mut_obj_add(obj: ref void, key: ref void, value: ref void) bool = trust { ... } = "sx_yyjson_mut_obj_add"

yyjson_mut_doc_set_root

private
extern (C) fn yyjson_mut_doc_set_root(doc: ref void, value: ref void) void = trust { ... } = "sx_yyjson_mut_doc_set_root"

JsonDoc

pub type JsonDoc = { ptr: ref void }

Fields

NameType
ptrref void

JsonBuilder

pub type JsonBuilder = { ptr: ref void }

Fields

NameType
ptrref void

JsonKind

pub enum JsonKind = { Null, Bool, Int, UInt, Float, Str, Array, Object, Unknown }

Variants

  • Null
  • Bool
  • Int
  • UInt
  • Float
  • Str
  • Array
  • Object
  • Unknown

_type_of

private
fn _type_of(value: ref void) u8

_subtype_of

private
fn _subtype_of(value: ref void) u8

copy_json_string

private
fn copy_json_string[T: allocators.Allocator](ac: T, src: ref u8, len: usize) ref u8

parse

pub fn parse(input: ref u8) option[JsonDoc] = trust { ... }

doc_free

pub fn doc_free(handle: JsonDoc) void = trust { ... }

doc_root

pub fn doc_root(handle: JsonDoc) ref void

doc_to_string

pub fn doc_to_string[T: allocators.Allocator](ac: T, handle: JsonDoc) ref u8

val_kind

pub fn val_kind(value: ref void) JsonKind = trust { ... }

val_is_null

pub fn val_is_null(value: ref void) bool

val_is_bool

pub fn val_is_bool(value: ref void) bool

val_is_int

pub fn val_is_int(value: ref void) bool

val_is_float

pub fn val_is_float(value: ref void) bool

val_is_str

pub fn val_is_str(value: ref void) bool

val_is_array

pub fn val_is_array(value: ref void) bool

val_is_object

pub fn val_is_object(value: ref void) bool

val_get_bool

pub fn val_get_bool(value: ref void) bool = trust { ... }

val_get_int

pub fn val_get_int(value: ref void) i64 = trust { ... }

val_get_uint

pub fn val_get_uint(value: ref void) u64 = trust { ... }

val_get_float

pub fn val_get_float(value: ref void) f64 = trust { ... }

val_get_str

pub fn val_get_str(value: ref void) ref u8 = trust { ... }

arr_len

pub fn arr_len(arr: ref void) usize

arr_get

pub fn arr_get(arr: ref void, idx: usize) option[ref void] = trust { ... }

obj_len

pub fn obj_len(obj: ref void) usize = trust { ... }

obj_get

pub fn obj_get(obj: ref void, key: ref u8) option[ref void] = trust { ... }

obj_get_str

pub fn obj_get_str(obj: ref void, key: ref u8) option[ref u8] = trust { ... }

obj_get_int

pub fn obj_get_int(obj: ref void, key: ref u8) option[i64] = trust { ... }

obj_get_bool

pub fn obj_get_bool(obj: ref void, key: ref u8) option[bool] = trust { ... }

builder_new

pub fn builder_new() JsonBuilder = trust { ... }

builder_free

pub fn builder_free(handle: JsonBuilder) void = trust { ... }

builder_to_string

pub fn builder_to_string[T: allocators.Allocator](ac: T, handle: JsonBuilder) ref u8

builder_to_string_pretty

pub fn builder_to_string_pretty[T: allocators.Allocator](ac: T, handle: JsonBuilder) ref u8

build_null

pub fn build_null(handle: JsonBuilder) ref void = trust { ... }

build_bool

pub fn build_bool(handle: JsonBuilder, v: bool) ref void = trust { ... }

build_int

pub fn build_int(handle: JsonBuilder, v: i64) ref void = trust { ... }

build_uint

pub fn build_uint(handle: JsonBuilder, v: u64) ref void = trust { ... }

build_float

pub fn build_float(handle: JsonBuilder, v: f64) ref void = trust { ... }

build_str

pub fn build_str(handle: JsonBuilder, v: ref u8) ref void = trust { ... }

build_array

pub fn build_array(handle: JsonBuilder) ref void = trust { ... }

build_object

pub fn build_object(handle: JsonBuilder) ref void = trust { ... }

array_append

pub fn array_append(arr: ref void, value: ref void) bool = trust { ... }

object_add

pub fn object_add(obj: ref void, key_val: ref void, value: ref void) bool = trust { ... }

builder_set_root

pub fn builder_set_root(handle: JsonBuilder, value: ref void) void = trust { ... }