Commit Graph

2078 Commits

Author SHA1 Message Date
Benoit Blanchon
a96464b223 Rewrite all converters
Before: 9802, 8486, 9630, 12418, 9654
After:  9802, 8446, 9630, 12242, 9660
Target: 9800, 8458, 9634, 12290, 9702
2025-09-25 19:01:35 +02:00
Benoit Blanchon
13474926bd Rewrite Converter<float>
Before: 9802, 8558, 9630, 12418, 9654
After:  9802, 8486, 9630, 12418, 9654
Target: 9800, 8458, 9634, 12290, 9702
2025-09-23 18:13:03 +02:00
Benoit Blanchon
77d83f422c Extract addValue NO CHANGE 2025-09-22 19:27:37 +02:00
Benoit Blanchon
080c8cbcc4 Extract addElement() NO CHANGE 2025-09-22 19:23:42 +02:00
Benoit Blanchon
0b19724b2f Extract getOrCreateMember()
Before: 9802, 8568, 9630, 12434, 9796
After:  9802, 8558, 9630, 12418, 9654
Target: 9800, 8458, 9634, 12290, 9702
2025-09-22 19:11:49 +02:00
Benoit Blanchon
d24703d47f Use asObject() in accept() NO CHANGE 2025-09-20 16:20:52 +02:00
Benoit Blanchon
5b939e2e00 Extract asArray() NO CHANGE 2025-09-20 16:16:11 +02:00
Benoit Blanchon
98daccfdce Extract accept()
Before: 9802, 8718, 9630, 12606, 9880
After:  9802, 8568, 9630, 12434, 9796
Target: 9800, 8458, 9634, 12290, 9702
2025-09-20 15:27:06 +02:00
Benoit Blanchon
bc8dcff2ab Extract setString()
Before: 9802, 8736, 9630, 12588, 9910
After:  9802, 8718, 9630, 12606, 9880
Target: 9800, 8458, 9634, 12290, 9702
2025-09-17 22:12:56 +02:00
Benoit Blanchon
7585c0f671 Extract asString()
Before: 9874, 8736, 9694, 12634, 9970
After:  9802, 8736, 9630, 12588, 9910
Target: 9800, 8458, 9634, 12290, 9702
2025-09-17 22:02:45 +02:00
Benoit Blanchon
8af294078f Extract asObject()
Before: 9874, 8796, 9694, 12634, 9970
After:  9874, 8736, 9694, 12634, 9970
Target: 9800, 8458, 9634, 12290, 9702
2025-09-17 21:51:03 +02:00
Benoit Blanchon
0e136aaf0a Extract toObject()
Before: 9884, 8796, 9702, 12668, 9964
After:  9874, 8796, 9694, 12634, 9970
Target: 9800, 8458, 9634, 12290, 9702
2025-09-17 21:18:28 +02:00
Benoit Blanchon
f72526c093 Extract toArray()
Before: 9894, 8796, 9708, 12674, 9970
After:  9884, 8796, 9702, 12668, 9964
Target: 9800, 8458, 9634, 12290, 9702
2025-09-17 21:18:28 +02:00
Benoit Blanchon
a9461f8e4d Extract setFloat()
Before: 9902, 8796, 9724, 12682, 9978
After:  9894, 8796, 9708, 12674, 9970
Target: 9800, 8458, 9634, 12290, 9702
2025-09-17 21:18:28 +02:00
Benoit Blanchon
71063c4ddb Extract setInteger()
Before: 9918, 8796, 9742, 12698, 9994
After:  9902, 8796, 9724, 12682, 9978
Target: 9800, 8458, 9634, 12290, 9702
2025-09-17 21:18:28 +02:00
Benoit Blanchon
769e10c8ed Move clear definition 2025-09-17 21:18:28 +02:00
Benoit Blanchon
4d13c523ef Call static clear directly
Before: 9920, 8836, 9742, 12744, 10040
After:  9918, 8796, 9742, 12698,  9994
Target: 9800, 8458, 9634, 12290,  9702
2025-09-17 21:18:28 +02:00
Benoit Blanchon
c5d9cf6096 Extract clear()
Before: 10036, 8882, 9742, 12788, 10084
After:   9920, 8836, 9742, 12744, 10040
Target:  9800, 8458, 9634, 12290,  9702
2025-09-17 21:18:28 +02:00
Benoit Blanchon
86cbf3522b Extract VariantImpl 2025-09-17 21:18:28 +02:00
Benoit Blanchon
ed6b470896 Replace VariantData& with VariantData* in deserializers 2025-09-17 21:18:28 +02:00
Benoit Blanchon
539b66fc7a Extract ArrayImpl, CollectionImpl, and ObjectImpl 2025-08-30 09:55:33 +02:00
Benoit Blanchon
6e7eddb959 JsonObject: replace ObjectData* member with VariantData* 2025-08-30 09:55:33 +02:00
Benoit Blanchon
3a49896200 JsonArray: replace ArrayData* member with VariantData* 2025-08-30 09:55:33 +02:00
Benoit Blanchon
c743c1e327 JsonObjectConst: replace ObjectData* member with VariantData* 2025-08-30 09:55:33 +02:00
Benoit Blanchon
c541c57900 JsonArrayConst: replace ArrayData* member with VariantData* 2025-08-30 09:55:33 +02:00
Benoit Blanchon
db2eec46c7 Add a pool dedicated to 8-byte values (double/int64_t/uint64_t)
This new pool replaced the "extension" slot where a secondary variant slot was used to store 8-byte values.
2025-08-30 09:55:32 +02:00
Benoit Blanchon
dddc4912c4 Don't store string literals by pointer anymore
Fixes #2189
2025-08-28 10:04:11 +02:00
Benoit Blanchon
509807d3c2 Remove CollectionIterator::nextId_ 2025-07-10 19:16:47 +02:00
Benoit Blanchon
c07744dc0d CI: upgrade Windows runner 2025-06-26 20:47:57 +02:00
Benoit Blanchon
733bc4ee82 Set version to 7.4.2 v7.4.2 2025-06-20 09:37:14 +02:00
Benoit Blanchon
9aa77994b4 Remove sponsor Programming Electronics Academy 2025-06-20 08:43:48 +02:00
Benoit Blanchon
f051f8328d Undef true and false macros
Replacing `true` with `1` changes `JsonString("ABC", true)` into `JsonString("ABC", 1)`, so all static strings had a length of 1.

This is a workaround for arduino/ArduinoCore-sam#50
Fixes #2181
2025-06-19 13:59:15 +02:00
Benoit Blanchon
411424b74e CI: upgrade clang-tidy 2025-05-20 20:55:01 +02:00
Benoit Blanchon
5e5c287978 CI: upgrade Clang versions 2025-05-20 18:24:46 +02:00
Benoit Blanchon
377cf63075 CI: upgrade runner to ubuntu-22.04 2025-05-20 14:48:42 +02:00
Benoit Blanchon
3252013509 Set version to 7.4.1 v7.4.1 2025-04-11 15:43:42 +02:00
Benoit Blanchon
deab127a2f Fix crash with tiny Flash strings (issue #2170) 2025-04-11 10:23:43 +02:00
Benoit Blanchon
96281de682 Set version to 7.4.0 v7.4.0 2025-04-09 14:49:13 +02:00
Benoit Blanchon
f0e84e4933 Fix support for const char[]
Fixes #2166
2025-04-09 08:55:09 +02:00
Benoit Blanchon
91397f9f06 Optimize storage of tiny strings (up to 3 characters) 2025-04-09 08:55:08 +02:00
Benoit Blanchon
7f75985e47 Change StringBuffer::save() to take a VariantData* 2025-02-28 10:05:50 +01:00
Benoit Blanchon
05b68fc7cc Change StringBuilder::save() to take a VariantData* 2025-02-28 09:59:46 +01:00
Benoit Blanchon
b06cee8f4d Remove the overload of setString() for StringNode 2025-02-28 09:23:56 +01:00
Benoit Blanchon
e03d8ae885 Set version to 7.3.1 v7.3.1 2025-02-27 19:35:14 +01:00
Benoit Blanchon
cb1dcfa5e4 Reduce code size 2025-02-27 11:13:50 +01:00
Benoit Blanchon
67dd3120e6 Fix conversion from static string to number 2025-02-27 11:01:51 +01:00
Benoit Blanchon
9f3cf04415 Remove useless null check 2025-02-24 16:40:42 +01:00
Benoit Blanchon
01e49b33b7 Update copyright year 2025-02-24 15:18:26 +01:00
Benoit Blanchon
8f7e793f37 Set version to 7.3.0 v7.3.0 2024-12-29 17:15:57 +01:00
Benoit Blanchon
254fa5712a Update the release scripts to include the breaking changes section 2024-12-29 16:38:41 +01:00