Commit Graph

241 Commits

Author SHA1 Message Date
Feoramund
309a770cbf Fix omitempty in json.marshal 2024-04-27 05:24:59 -04:00
gingerBill
20223345a4 Return partial reads 2024-04-19 00:33:31 +01:00
gingerBill
3812d5e002 Only override the comma value on *_init if it is "invalid" 2024-04-19 00:19:02 +01:00
gingerBill
334e08c750 Update numerous package declaration names 2024-04-18 12:17:39 +01:00
gingerBill
38c1fd5824 Keep -vet happy 2024-04-15 14:35:51 +01:00
gingerBill
d5e6d722d3 Merge pull request #3045 from laytan/cbor
encoding/cbor
2024-04-15 14:28:52 +01:00
gingerBill
fd487f66bc Add json:"name,omitempty" 2024-04-10 13:40:25 +01:00
gingerBill
d0dc7395e9 Allow for comma-separate json names json:"name,flag" 2024-04-10 13:29:10 +01:00
Laytan Laats
3a0df80066 correct newly found vets 2024-04-03 00:52:58 +02:00
Franz Höltermann
a422aba578 Json: improved unmarshalling of using _: T fields.
`using _: T` fields will now have their members unmarshalled to their
parent types reflecting the new behaviour of json.marshall.

Example:
```go
A :: struct {
    using _: B,
}

B :: struct {
    field: string,
}

data := `{"field": "Hello World"}`

a: A
json.unmarshal_string(data, &a)
```
2024-03-27 15:46:44 +01:00
Franz Höltermann
92a5666c1c Json: fields on structs like 'using _: T' will now have T's fields
marshalled directly into the parent type without an '"_":{ ... }'.
This seems like desirable behavior to me, since you can't access the
fields with 'Parent_Type._.field' either.
2024-03-26 20:22:51 +01:00
gingerBill
c05a92ab3e Merge pull request #3215 from blob1807/json-better-enum-support
core:encoding/json Add support for writing enum value names
2024-03-06 14:56:19 +00:00
gingerBill
8d496dc3d0 Fix #3173 2024-03-06 14:51:56 +00:00
gingerBill
6d3a57b4ac Zero intrinsics.alloca 2024-03-06 13:48:37 +00:00
gingerBill
c7b8f1fb0a Use intrinsics.alloca rather than context.temp_allocator in json.unmarshal_object 2024-03-06 13:42:38 +00:00
gingerBill
5eef29290c Fix #3250 2024-03-06 11:49:17 +00:00
Laytan Laats
04bd3cc525 encoding/cbor: rename diagnose to to_diagnostic_format to be clearer 2024-03-04 17:26:19 +01:00
Laytan
2a39c60fe4 encoding/cbor: respect default to panic allocator 2024-03-04 17:26:19 +01:00
Laytan
b11d839fb6 encoding/cbor: make temp allocations more explicit 2024-03-04 17:26:19 +01:00
Laytan
0076c07076 encoding/cbor: core -> base 2024-03-04 17:26:19 +01:00
Laytan
a664d9804f encoding/cbor: remove usage of incl_elem and excl_elem 2024-03-04 17:26:19 +01:00
Laytan Laats
c4e45d509a encoding/cbor: adhere to new quaternion rules of master 2024-03-04 17:26:19 +01:00
Laytan Laats
c1cf6c1a95 encoding/cbor: add general docs and example 2024-03-04 17:26:19 +01:00
Laytan Laats
317931a3c5 encoding/cbor: deterministically store bit sets as big endian 2024-03-04 17:26:19 +01:00
Laytan Laats
759d095548 encoding/cbor: ignore struct fields with cbor:"-" 2024-03-04 17:26:19 +01:00
Laytan Laats
72d5b87b52 encoding/cbor: clean 2024-03-04 17:26:19 +01:00
Laytan Laats
154e0d41c6 encoding/cbor: fix wrong allocator bug 2024-03-04 17:26:19 +01:00
Laytan Laats
3fccc77829 encoding/cbor: clean and fixup some allocations 2024-03-04 17:26:19 +01:00
Laytan Laats
85f1a60cf3 encoding/cbor: cleanup comments about tags 2024-03-04 17:26:19 +01:00
Laytan Laats
cb8bb8bfd8 encoding/cbor: cleanup default temp allocator 2024-03-04 17:26:19 +01:00
Laytan Laats
46b58ad48d encoding/cbor: don't zero bytes we are going to write/read to/from anyway 2024-03-04 17:26:19 +01:00
Laytan Laats
7283b5e75c encoding/cbor: minor things 2024-03-04 17:26:19 +01:00
Laytan Laats
21e6e28a3a encoding/cbor: add decoder flags and protect from malicious untrusted input 2024-03-04 17:26:19 +01:00
Laytan Laats
d77ae9abab encoding/cbor: fully support marshal/unmarshal of unions 2024-03-04 17:26:19 +01:00
Laytan Laats
363769d4d3 encoding/cbor: cleanup base64 tag 2024-03-04 17:26:19 +01:00
Laytan Laats
b6c47e7963 encoding/base64: add decode_into, add tests 2024-03-04 17:26:17 +01:00
Laytan Laats
5533a327eb encoding/cbor: initial package implementation 2024-03-04 17:25:34 +01:00
blob1807
b419615002 Apply suggestions from code review
Fixing spelling mistakes pointed out & fixed by layton.

Co-authored-by: Laytan <laytanlaats@hotmail.com>
2024-03-04 21:20:13 +10:00
blob1807
116edb9052 convert spaces to tabs 2024-03-04 15:09:17 +10:00
blob1807
9070e613a4 Return underlining value instead of panicing
when no name it found.

Renamed use_enum_value_names to use_enum_names
it get the same point across & inline with the
reflect procs
2024-03-04 15:06:30 +10:00
blob1807
41fbaaf1d3 changed to use reflect.enum_name_from_value_any 2024-03-01 14:53:39 +10:00
blob1807
f14babe419 Merge branch 'odin-lang:master' into json-better-enum-support 2024-03-01 14:24:51 +10:00
gingerBill
a4b8c1ea17 Begin work adding bit_field 2024-02-22 15:55:54 +00:00
blob1807
a95cead8e7 add all inter types to switch 2024-02-21 14:05:50 +10:00
blob1807
c276b1c0bc replace spaces with tabs 2024-02-21 11:51:29 +10:00
blob1807
b39ef29ec6 add missing comma 2024-02-21 11:15:35 +10:00
blob1807
b2b8b14955 Add better support for Enums in json
Can now output enum value's name instead of its underlineing value
2024-02-21 11:07:03 +10:00
blob1807
7e0473dded Revert json union fix 2024-02-21 11:03:15 +10:00
blob1807
004cd4933d Merge branch 'master' of https://github.com/blob1807/Odin 2024-02-21 00:43:27 +10:00
blob1807
14ee2181cb Fix bug https://github.com/odin-lang/Odin/issues/3173 2024-02-21 00:42:11 +10:00