typesense-js
typesense-js copied to clipboard
Return value of collection `update` method seems mis-typed
Description
The return value of client().collection('name').update() seems to be mis-typed.
Steps to reproduce
data sent as JSON from postman to the proxy endpoint I'm working on
{
"collectionName": "test",
"updateFields": [
{
"name": "third_field",
"type": "string"
}
]
}
// snippet from my project
const {
body: {
collectionName,
updateFields
}
} = req
typesenseClient.collections(collectionName)
.update({ fields: updateFields })
// the `update` response seems typed incorrectly relative to what's actually returned
.then(update => {
res.status(200).json({
data: {
collection: update,
message: `Collection ${collectionName} updated`
}
})
}).catch(err => {
return serverError(res, 400, `Thee was an error updating the fields for ${collectionName}`, err)
})
this is a screenshot of how typescript/vscode interprets the returned value of update

response object from the endpoint which appears to be of type CollectionFieldSchema or perhaps CollectionFieldUpdateSchema
{
"data": {
"collection": {
"fields": [
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "fourth_field",
"optional": true,
"sort": false,
"type": "string*"
}
]
},
"message": "Collection test updated"
}
}
Expected Behavior
The return type of update should match what's actually returned
Actual Behavior
It doesn't 🙂
Metadata
Typesense Version: typesense-js 1.5.2 typesense server 0.23.1 (running in docker)