RSDK-9147: Change Typescript TabularDataBySQL/MQL return type to raw BSON #401
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.
For context: The return type of the TabularDataBySQL/MQL proto has changed to return both a list of structs, the existing return type, and also a list of bytearrays that represent BSON.
Added a required dependency to bsonfy to use the
BSON
libraryBSON provides a deserialize() function for converting lists of byte sequences into lists of javascript objects.
Testing:
Updated the
data
testing input to includeDate
objects, as the Typescript SDK will receive date fields in this format. I added a check to ensure thatDate
inputs are returned as native typescriptDate
objectsI ensured that date fields are returned as native typescript Date objects instead of strings by running tabularDataByMQL against real tabular data on viam-dev and printed the decoded data and their types. As you can see below the date and time elements are of type "Date" (click on the photo for clarity)