diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2025-07-23 19:39:13 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2025-07-23 19:39:26 +0200 |
| commit | 421300c27123ca647772dc6d9bd0cabf7f5f9c99 (patch) | |
| tree | d916b62056b2440aef374b21373d16272bb709ee /json.h | |
| parent | 53e9e371a16ae2d167f1fc2577dff2c2426eed68 (diff) | |
refactor: src & pragma once
Diffstat (limited to 'json.h')
| -rw-r--r-- | json.h | 36 |
1 files changed, 0 insertions, 36 deletions
@@ -1,36 +0,0 @@ -#ifndef JSON_H -#define JSON_H -#include "memory.h" -#include "string.h" -#include "vec.h" - -typedef struct { - Vec keys; // Vec<Str> - Vec values; // Vec<JSON> - size len; -} JSONObject; -typedef enum { - JSON_NULL, - JSON_BOOL, - JSON_INTEGER, - JSON_FLOAT, - JSON_STRING, - JSON_ARRAY, - JSON_OBJECT -} JSONType; -typedef struct { - JSONType type; - union { - bool boolean; - i32 integer; - f32 floating; - Vec array; // Vec<JSON> - Str string; - JSONObject object; - } as; -} JSON; -JSON *JSONObject_get(JSONObject obj, Str key); -i32 JSON_fprint(FILE *w, JSON json); -JSON JSON_parse(Arena *a, byte *src); -JSON JSON_Int(Arena *a, i32 val); -#endif |
