Skip to content

[pull] master from ugorji:master#99

Open
pull[bot] wants to merge 450 commits intor4b3rt:masterfrom
ugorji:master
Open

[pull] master from ugorji:master#99
pull[bot] wants to merge 450 commits intor4b3rt:masterfrom
ugorji:master

Conversation

@pull
Copy link

@pull pull bot commented Dec 20, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

ugorji and others added 28 commits April 12, 2025 11:52
Many fields in a struct are builtin fields like int, uint, etc,
or slices/maps containing builtins.

For those, we can decode directly via the type switch, instead of using the reflection mechanism.
move baseTyp and ptrTyp into structFieldInfo, so we don't keep
adding to the PathNode when only wrapper structFieldInfo needs it.
- use the actual field value, not a de-referenced one
- check if an empty container value in one call (not 2 separate switch statements potentially)
codecgen is no longer supported in this version.
Remove remaining traces of it in the codebase.
refactor structFieldInfoNode from structFieldInfoPathNode, to simulate a leaf node
without a parent.

Attach some key methods to it.

Add structFieldInfo.field(No)Alloc methods
This way, working with one Handle will not pull in the rest of the
formats into your executable build.
ugorji added 30 commits June 6, 2025 03:08
This also fixes the time.Time encoding in unix* format on 32-bit OS
We kept commented out code at bottom of files for easy access.

As we prepare to release a new version, we can now clean up the codebase
and remove the clutter.
- introduce testEqualOpts to generalize testEqual function:
  testEqual is for basic diff support, while testEqualFlex adds more config specific to these files
- use testEqualFlex all over values_test_flex, which tracks many known types with "ignore unexported"
- simplify one-off "one pass" execution of encode/decode
- move how wraps and other types will continue to be supported
This way, we bubble up the right tracked error if available.

Fixes #421
…xtension

If encoding or decoding an extension, checkExt must be false once EncodeExt or DecodeExt is called,
else we can fall into an infinite loop or bypass encoding/decoding appropriately.

Fixes #426
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments