expose ShapeStream.fetchSnapshot as public api #3463
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This exposes the
ShapeStream.fetchSnapshotas a public api that can be used to fetch a snapshot without it being injected into the emitted stream of change messages. This is useful for cases where the user wants to handle the application of these snapshot in a custom way, as we need to in Tanstack DB for theprogressivemode.While working on this I also took the opportunity to tidy up the parsing of the messages, in the old implementation we would JSON.stringify the messages, only to the parse them again. I refactored the parser to be able to work on already parsed (JSON -> basic JS) messages.
First commit is the core change to expose
fetchSnapshot, second commit is the refactor of message parsing.