mirror of
https://github.com/morluto/rea.git
synced 2026-10-31 11:56:12 +00:00
fix(javascript): separate stored receiver and initializer traversal
This commit is contained in:
1 parent
0ba81bd9e4
commit
2ff85c0e4c
2 files changed
+11
-6
No files matched your search
@@ -1085,9 +1085,9 @@ export function* collectSemanticMemberMutationsSteps(
|
||||
current.capturedSelections,
|
||||
)
|
||||
: undefined;
|
||||
// A defined owner result already includes every eligible initializer;
|
||||
// replaying them separately duplicates selection/capture histories.
|
||||
retainsInitializers = receiver === undefined;
|
||||
// Stored receiver projections preserve their raw capture authority.
|
||||
// Initializer origins retain the normalized mutation traversal below.
|
||||
retainsInitializers = receiver?.retainsOrigin !== false;
|
||||
if (effect === "escape")
|
||||
binding.escapedPaths.push({
|
||||
path,
|
||||
@@ -1115,7 +1115,7 @@ export function* collectSemanticMemberMutationsSteps(
|
||||
// the final written slot. The source owner preserves replacements
|
||||
// and captures; a local container does not isolate its children.
|
||||
if (receiver !== undefined) {
|
||||
for (const source of receiver.sources)
|
||||
for (const source of receiver.storedSources)
|
||||
enqueue({
|
||||
node: source.node,
|
||||
path: [...source.path, current.path.at(-1)!],
|
||||
|
||||
Reference in new issue
Block a user