File tree Expand file tree Collapse file tree 1 file changed +65
-0
lines changed Expand file tree Collapse file tree 1 file changed +65
-0
lines changed Original file line number Diff line number Diff line change @@ -84,6 +84,71 @@ typedef enum {
8484 FOSSIL_MYSHELL_ERROR_UNKNOWN /* *< Unknown or unspecified error occurred. */
8585} fossil_bluecrab_myshell_error_t ;
8686
87+ // ============================================================================
88+ // FSON v2 compatible value representation (local to MyShell)
89+ // ============================================================================
90+ typedef enum {
91+ MYSHELL_FSON_TYPE_NULL = 0 ,
92+ MYSHELL_FSON_TYPE_BOOL,
93+
94+ // Scalars
95+ MYSHELL_FSON_TYPE_I8,
96+ MYSHELL_FSON_TYPE_I16,
97+ MYSHELL_FSON_TYPE_I32,
98+ MYSHELL_FSON_TYPE_I64,
99+ MYSHELL_FSON_TYPE_U8,
100+ MYSHELL_FSON_TYPE_U16,
101+ MYSHELL_FSON_TYPE_U32,
102+ MYSHELL_FSON_TYPE_U64,
103+ MYSHELL_FSON_TYPE_F32,
104+ MYSHELL_FSON_TYPE_F64,
105+
106+ // Literals
107+ MYSHELL_FSON_TYPE_OCT,
108+ MYSHELL_FSON_TYPE_HEX,
109+ MYSHELL_FSON_TYPE_BIN,
110+
111+ // Strings
112+ MYSHELL_FSON_TYPE_CHAR,
113+ MYSHELL_FSON_TYPE_CSTR,
114+
115+ // Composite
116+ MYSHELL_FSON_TYPE_ARRAY,
117+ MYSHELL_FSON_TYPE_OBJECT,
118+
119+ // v2 Additions
120+ MYSHELL_FSON_TYPE_ENUM,
121+ MYSHELL_FSON_TYPE_DATETIME,
122+ MYSHELL_FSON_TYPE_DURATION
123+ } fossil_bluecrab_myshell_fson_type_t ;
124+
125+ typedef struct {
126+ fossil_bluecrab_myshell_fson_type_t type;
127+ union {
128+ bool b;
129+ int8_t i8 ;
130+ int16_t i16 ;
131+ int32_t i32 ;
132+ int64_t i64 ;
133+ uint8_t u8 ;
134+ uint16_t u16 ;
135+ uint32_t u32 ;
136+ uint64_t u64 ;
137+ float f32 ;
138+ double f64 ;
139+ char *oct;
140+ char *hex;
141+ char *bin;
142+ char c;
143+ char *cstr;
144+ char *array;
145+ char *object;
146+ char *enum_symbol;
147+ char *datetime;
148+ char *duration;
149+ } as;
150+ } fossil_bluecrab_myshell_fson_value_t ;
151+
87152/* *
88153 * -------------------------------
89154 * Simple, Git-like Public API
You can’t perform that action at this time.
0 commit comments