LearnNewsExamplesServices
Frontmatter
id8835
titleRefactor `vdom.Helper.updateBatch` to accept Map-based Payload
stateClosed
labels
airefactoringcore
assigneestobiu
createdAtJan 20, 2026, 9:43 PM
updatedAtJan 20, 2026, 10:00 PM
githubUrlhttps://github.com/neomjs/neo/issues/8835
authortobiu
commentsCount1
parentIssue8834
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 20, 2026, 10:00 PM

Refactor vdom.Helper.updateBatch to accept Map-based Payload

Closed v11.23.0 airefactoringcore
tobiu
tobiu commented on Jan 20, 2026, 9:43 PM

Change the vdom.Helper.updateBatch signature to accept a single data object containing an updates property, which is a key-value map (Object) where keys are component IDs and values are update payloads.

Reason:

  • Adheres to the Remote Method Access (RMA) contract (single object argument).
  • Improves efficiency for ID-based lookups.
  • Aligns with standard Neo.mjs patterns.

Changes:

  • src/vdom/Helper.mjs: Update updateBatch to iterate Object.values(data.updates).
  • src/mixin/VdomLifecycle.mjs: Update executeVdomUpdate to construct the map.
tobiu added the ai label on Jan 20, 2026, 9:44 PM
tobiu added the refactoring label on Jan 20, 2026, 9:44 PM
tobiu added the core label on Jan 20, 2026, 9:44 PM
tobiu added parent issue #8834 on Jan 20, 2026, 9:44 PM
tobiu referenced in commit 040d646 - "refactor: Update vdom.Helper.updateBatch to Map-based Payload (#8835) on Jan 20, 2026, 9:44 PM
tobiu assigned to @tobiu on Jan 20, 2026, 9:44 PM
tobiu
tobiu Jan 20, 2026, 9:44 PM

Input from Gemini 3 Pro:

✦ Completed refactoring of vdom.Helper.updateBatch.

  • Updated signature to accept { updates: { [id]: payload } }.
  • Updated VdomLifecycle.executeVdomUpdate to construct the map.
  • Verified all unit tests in RealWorldUpdates.spec.mjs pass.
  • Pushed to epic-8834.
tobiu closed this issue on Jan 20, 2026, 10:00 PM