doc: clarify transform._transform() callback argument logic #48680
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.
Edited / fixed version of #48653
Clarified that
stream.Transform
callback second argument is passed only if the first argument isnull
, i.e. no error occured processing the chunk.From the way the documentation is written right now, I expected the second argument to be forwarded to
transform.push()
, even if the first argument is anError
. I was implementing a truncation stream, and passed both anError
("stream exceeded maximum size"; could be optionally caught and ignored), and the last (truncated) chunk. Only after digging through the relevant implementaton I could confirm for sure that the second argument is entirely ignored if the first one is notnull
.Please tell me if you want to adjust the wording somehow, or whether I should add an alternative example to the one following the line "In other words, the following are equivalent:". Hopefully you'll find this useful.