Do massive overhaul and simplification of DN
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
#define DN_JSON_H
|
||||
|
||||
#if defined(_CLANGD)
|
||||
#include "../dn_base_inc.h"
|
||||
#include "../dn.h"
|
||||
#include "../External/json.h"
|
||||
#endif
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
#error Sheredom json.h (github.com/sheredom/json.h) must be included before this file
|
||||
#endif
|
||||
|
||||
// NOTE: DN_JSON //////////////////////////////////////////////////////////////////////////////////
|
||||
// NOTE: DN_JSON
|
||||
|
||||
void *DN_JSON_ArenaAllocFunc (void *user_data, size_t count);
|
||||
char const *DN_JSON_TypeEnumCString(json_type_e type, size_t *size);
|
||||
bool DN_JSON_String8Cmp (json_string_s const *lhs, DN_Str8 rhs);
|
||||
|
||||
// NOTE: DN_JSON_It /////////////////////////////////////////////////////////////////////////
|
||||
// NOTE: DN_JSON_It
|
||||
enum DN_JSONItEntryType
|
||||
{
|
||||
DN_JSON_ItEntryTypeObjElement,
|
||||
@@ -42,7 +42,7 @@ struct DN_JSONIt
|
||||
|
||||
DN_JSONIt DN_JSON_LoadFileToIt(DN_Arena *arena, DN_Str8 json);
|
||||
|
||||
// NOTE: DN_JSON_ItPush/Pop /////////////////////////////////////////////////////////////////
|
||||
// NOTE: DN_JSON_ItPush/Pop
|
||||
bool DN_JSON_ItPushObjElement (DN_JSONIt *it, json_object_element_s *element);
|
||||
bool DN_JSON_ItPushObj (DN_JSONIt *it, json_object_s *obj);
|
||||
bool DN_JSON_ItPushArrayElement(DN_JSONIt *it, json_array_element_s *element);
|
||||
@@ -50,7 +50,7 @@ bool DN_JSON_ItPushArray (DN_JSONIt *it, json_value_s *value);
|
||||
bool DN_JSON_ItPushValue (DN_JSONIt *it, json_value_s *value);
|
||||
void DN_JSON_ItPop (DN_JSONIt *it);
|
||||
|
||||
// NOTE: DN_JSON_It tree navigation /////////////////////////////////////////////////////////
|
||||
// NOTE: DN_JSON_It tree navigation
|
||||
json_value_s *DN_JSON_ItPushCurrValue(DN_JSONIt *it);
|
||||
bool DN_JSON_ItNext(DN_JSONIt *it);
|
||||
|
||||
@@ -58,12 +58,12 @@ bool DN_JSON_ItNext(DN_JSONIt *it);
|
||||
for(void *DN_UniqueName(ptr) = DN_JSON_ItPushCurrValue(it); DN_UniqueName(ptr); DN_JSON_ItPop(it), DN_UniqueName(ptr) = nullptr) \
|
||||
while (DN_JSON_ItNext(it))
|
||||
|
||||
// NOTE: DN_JSON_ItCurr /////////////////////////////////////////////////////////////////////
|
||||
// NOTE: DN_JSON_ItCurr
|
||||
DN_JSONItEntry *DN_JSON_ItCurr(DN_JSONIt *it);
|
||||
json_value_s *DN_JSON_ItCurrValue(DN_JSONIt *it);
|
||||
json_object_element_s *DN_JSON_ItCurrObjElement(DN_JSONIt *it);
|
||||
|
||||
// NOTE: DN_JSON_ItValueIs //////////////////////////////////////////////////////////////////
|
||||
// NOTE: DN_JSON_ItValueIs
|
||||
json_value_s *DN_JSON_ItValueIs(DN_JSONIt *it, json_type_e type);
|
||||
json_object_s *DN_JSON_ItValueIsObj(DN_JSONIt *it);
|
||||
json_array_s *DN_JSON_ItValueIsArray(DN_JSONIt *it);
|
||||
@@ -74,7 +74,7 @@ json_value_s *DN_JSON_ItValueIsNull(DN_JSONIt *it);
|
||||
|
||||
size_t DN_JSON_ItValueArraySize(DN_JSONIt *it);
|
||||
|
||||
// NOTE: DN_JSON_ItKeyValueIs ///////////////////////////////////////////////////////////////
|
||||
// NOTE: DN_JSON_ItKeyValueIs
|
||||
DN_Str8 DN_JSON_ItKey(DN_JSONIt *it);
|
||||
bool DN_JSON_ItKeyIs(DN_JSONIt *it, DN_Str8 key);
|
||||
json_object_s *DN_JSON_ItKeyValueIsObj(DN_JSONIt *it, DN_Str8 key);
|
||||
@@ -84,7 +84,7 @@ json_number_s *DN_JSON_ItKeyValueIsNumber(DN_JSONIt *it, DN_Str8 key);
|
||||
json_value_s *DN_JSON_ItKeyValueIsBool(DN_JSONIt *it, DN_Str8 key);
|
||||
json_value_s *DN_JSON_ItKeyValueIsNull(DN_JSONIt *it, DN_Str8 key);
|
||||
|
||||
// NOTE: DN_JSON_ItValueTo //////////////////////////////////////////////////////////////////
|
||||
// NOTE: DN_JSON_ItValueTo
|
||||
DN_Str8 DN_JSON_ItValueToString(DN_JSONIt *it);
|
||||
int64_t DN_JSON_ItValueToI64(DN_JSONIt *it);
|
||||
uint64_t DN_JSON_ItValueToU64(DN_JSONIt *it);
|
||||
|
||||
Reference in New Issue
Block a user