Skip to content

v5.0.0-alpha.8

@ltwlf ltwlf tagged this 06 Apr 06:49
* Fix diffAtom nested identity path using bracket instead of dot notation (#392)

walkChanges was not passing embeddedKeyIsPath to buildCanonicalFilterPath,
so function-based identity keys returning nested paths like positionNumber.value
produced @['positionNumber.value'] instead of @.positionNumber.value.

* Address review: fix findElementByKey for nested paths, fix null fallback

- findElementByKey now resolves nested paths via resolveNestedKey helper
- Use undefined-only check instead of ?? to preserve null identity values

* Fix null identity matching, string-based nested keys, add comprehensive tests

- indexOfItemInArray/applyArrayChange: use !== undefined instead of != null
  so null identity values can match (null is a valid filter value)
- compareArray/convertArrayToObj: support string-based nested identity keys
  (e.g. embeddedObjKeys: { items: 'positionNumber.value' }) by checking
  whether data has literal property or needs nested resolution
- Add 8 new tests: full round-trip (diffAtom→applyAtom→revertAtom), string
  key, 3-level nesting, numeric/boolean/null identity values, toAtom bridge

* Sync package-lock.json version to 5.0.0-alpha.8

* Guard in operator against primitives, fix comment accuracy
Assets 2
Loading