client
client copied to clipboard
Improve confusing error messages for JS client
Is your feature request related to a problem? Please describe. Syntax errors within GROQ queries throw a 'Must be an attribute or string key' error. The stacktrace doesn't give a great deal of information as to where the problem is. Example below:
Very simple mistake to make. Missing comma after 'slug':
`
{
"work": *[_type == "caseStudies"]{
title,
slug
tags,
}
}
`
Error message given:
Must be an attribute or a string keyClientError: Must be an attribute or a string key
at onResponse (/Users/craig/Documents/projects/flo-site-v5/node_modules/@sanity/client/lib/http/request.js:27:13)
at /Users/craig/Documents/projects/flo-site-v5/node_modules/get-it/lib-node/util/middlewareReducer.js:10:22
at Array.reduce (<anonymous>)
at applyMiddleware (/Users/craig/Documents/projects/flo-site-v5/node_modules/get-it/lib-node/util/middlewareReducer.js:9:29)
at onResponse (/Users/craig/Documents/projects/flo-site-v5/node_modules/get-it/lib-node/index.js:81:22)
at /Users/craig/Documents/projects/flo-site-v5/node_modules/get-it/lib-node/index.js:48:55
at callback (/Users/craig/Documents/projects/flo-site-v5/node_modules/get-it/lib-node/request/node-request.js:57:46)
at /Users/craig/Documents/projects/flo-site-v5/node_modules/get-it/lib-node/request/node-request.js:141:14
at DestroyableTransform.<anonymous> (/Users/craig/Documents/projects/flo-site-v5/node_modules/simple-concat/index.js:7:13)
at Object.onceWrapper (events.js:312:28)
at DestroyableTransform.emit (events.js:228:7)
at endReadableNT (/Users/craig/Documents/projects/flo-site-v5/node_modules/readable-stream/lib/_stream_readable.js:1010:12)
at processTicksAndRejections (internal/process/task_queues.js:81:21)
Describe the solution you'd like Relevant error messages, perhaps as a result of validation of the GROQ query itself.
Thanks for reporting! More useful messaging would definitely benefit us all!