mirror of
https://github.com/morluto/rea.git
synced 2026-10-29 10:55:57 +00:00
fix(javascript): preserve capture timing and detached receiver authority
This commit is contained in:
1 parent
f36893a1a2
commit
da0480a665
3 files changed
+57
-2
No files matched your search
@@ -14,6 +14,7 @@ import {
|
||||
import {
|
||||
semanticCapturePosition,
|
||||
semanticEscapeFollowsCapture,
|
||||
semanticBindingEffectFollowsCapture,
|
||||
semanticBindingPrecedesCapture,
|
||||
semanticBindingAtRead,
|
||||
} from "./javascriptSemanticMutationInitializers.js";
|
||||
@@ -546,7 +547,19 @@ const evaluateBinding = (
|
||||
}
|
||||
let projected = invalidateSemanticMutationPaths(
|
||||
value,
|
||||
binding.memberWrites.map(({ path }) => path),
|
||||
binding.memberWrites
|
||||
.filter(
|
||||
({ node }) =>
|
||||
context.capturePoint === undefined ||
|
||||
node === undefined ||
|
||||
!semanticBindingEffectFollowsCapture(
|
||||
binding,
|
||||
context.capturePoint,
|
||||
node,
|
||||
context.state.parentsByNode,
|
||||
),
|
||||
)
|
||||
.map(({ path }) => path),
|
||||
);
|
||||
for (const escape of binding.escapedPaths) {
|
||||
// Escapes only invalidate object references; other lattice values survive.
|
||||
|
||||
Reference in new issue
Block a user