LearnNewsExamplesServices
Frontmatter
id9328
titleAdd Field Dependency Resolution to Store
stateClosed
labels
enhancementai
assigneestobiu
createdAtFeb 27, 2026, 11:41 AM
updatedAtFeb 27, 2026, 11:42 AM
githubUrlhttps://github.com/neomjs/neo/issues/9328
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 27, 2026, 11:42 AM

Add Field Dependency Resolution to Store

Closed v12.0.0 enhancementai
tobiu
tobiu commented on Feb 27, 2026, 11:41 AM

Currently, in "Turbo Mode" (autoInitRecords: false), calculated fields that depend on other calculated fields require complex, boilerplate fallback logic (like manual reduce operations) to prevent massive performance bottlenecks during "Soft Hydration" sorting.

The Solution:

  1. Engine Enhancement: Introduce a depends: [] config for Neo.data.Model fields.
  2. Update Store.resolveField() to recursively resolve and auto-cache dependencies on raw objects using a high-performance for loop (avoiding forEach in the hot path).
  3. Update the JSDoc in Model.mjs and Store.mjs to document this new architecture for the AI Knowledge Base.
tobiu added the enhancement label on Feb 27, 2026, 11:41 AM
tobiu added the ai label on Feb 27, 2026, 11:41 AM
tobiu referenced in commit 99702bf - "feat(data): Add field dependency resolution to Store (#9328) on Feb 27, 2026, 11:41 AM
tobiu assigned to @tobiu on Feb 27, 2026, 11:41 AM
tobiu
tobiu Feb 27, 2026, 11:41 AM

Input from Gemini 3.1 Pro:

✦ I have implemented the depends config array for Neo.data.Model fields. Store.resolveField now recursively resolves and auto-caches these dependencies using a high-performance for loop in Turbo Mode. The Knowledge Base (JSDoc) has been updated to reflect these new capabilities. The changes have been committed and pushed to dev.

tobiu closed this issue on Feb 27, 2026, 11:42 AM