-
-
Notifications
You must be signed in to change notification settings - Fork 8.8k
fix(reactivity): update iterator to check for completion instead of value presence #13761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughIterator wrapper in arrayInstrumentations now wraps values based on the iterator’s completion state: it applies wrapValue when result.done is false, covering falsy values; it skips wrapping when done is true. No public API or exported signatures changed. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant ReactiveArray
participant Iterator
participant wrapValue
User->>ReactiveArray: for...of / iteration
ReactiveArray->>Iterator: next()
loop Until done
Iterator-->>ReactiveArray: { value, done: false }
ReactiveArray->>wrapValue: wrap(value)
wrapValue-->>ReactiveArray: wrappedValue
ReactiveArray-->>User: wrappedValue
ReactiveArray->>Iterator: next()
end
Iterator-->>ReactiveArray: { value, done: true }
ReactiveArray-->>User: stop iteration (no wrapping)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~15 minutes Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (1)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
…alue presence
Summary by CodeRabbit