Skip to content

v4.10.3

@ltwlf ltwlf tagged this 05 Apr 15:39
* Support nested member-access in filter expressions (#392)

Function-based identity keys returning dot-separated paths now produce
nested dot-notation (@.positionNumber.value) per RFC 9535 JSONPath.
String-based keys with dots still use bracket notation (@['c.d']).

Adds embeddedKeyIsPath flag to IChange. Bumps to 4.10.3.

* Support nested property resolution in apply/revert, review fixes (#392)

- Add resolveProperty for dot-separated path traversal in apply/revert
- Fix empty array edge case: use oldObj[0] fallback for key resolution
- Add NESTED_PATH_RE validation for isPath filter keys
- Add apply + atomize→unatomize→apply round-trip test

* Address review: isPath-aware apply/revert, falsy value fix, unatomize flag

- resolveProperty only traverses nested paths when isPath=true
- Thread isPath through removeKey/applyLeafChange/applyArrayChange
- Fix falsy identity values (0, false, '') in indexOfItemInArray
- Set embeddedKeyIsPath in unatomizeChangeset for dot-notation keys
- Add literal dot-key apply round-trip test

* Null guard in resolveProperty, thread isPath through revert path

* Fix escaped quotes in unatomizeChangeset regex, add round-trip tests

* Use NESTED_PATH_RE to gate embeddedKeyIsPath, add edge case test

* Require dot in key for embeddedKeyIsPath in unatomizeChangeset

* Guard resolveProperty against non-string keys (FunctionKey)
Assets 2
Loading