Feat: Python Struct - Transform Functions Implementation #38
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
Transform EACH
..n(current item): Skip descent when the template key is missing in the data sodparentstays on the current EACH item and..nresolves correctly (e.g.{x0:{y0:'..n'}}withdata: {a0:[{n:0},{n:1}]})..x/...v: Correct handling of one-dot (current) and three-dot (ascend to data root) relative paths inside EACH.$REFis a list, only setS_DMETAon map children to avoidTypeErroron list indices.Transform PACK
...v100and.yinside PACK now works via the sharedgetpathfixes.getpathrelative paths.x,.., and..keyare interpreted correctly...only → ascend 1 (parent);..keyin transform (with base) → current then.key; in getpath_relative (no base) → ascend 1 then.key....only (4 parts) or...key→ ascend to data/store root; with base (e.g.$TOP) usesize(dpath)-1, without base usesize(dpath)...: Two dots produce 3 split parts; decrement twice so the effective ascend is 1 (parent).ascends > size(dpath)returnUNDEF(e.g.....).descend()dparent(not only list indices), so template-only keys (e.g.x0,y0) do not overwritedparentand..nstill resolves.Tests