feature: add callback interface to parse #48
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.
If a client app wants to keep of track of what output
was generated from certain input an event based interface
is less than ideal, so add an optional callback to parse().
I have some multiplexed SK server log files where the timestamp in n2k data is bad. I would like to change autodetect/canboat provider in @signalk/streams so that the timestamp from the multiplexed log overrides the one from the actisense serial data. For that I need to catch
parse
output in CanboatJs.prototype._transform and overridetimestamp
there.Overall with streams and backpressure handling it is much better to handle processing with callbacks instead of separate events. Now calling
done
without any knowledge of what gets pushed by the data we are handling inCanboatJs.prototype._transform
is sort of recipe for disaster in the future, even if it works now.