* Updated types generation script
* Refactored api method definitions
* Updated test
- Removed old test code
- Added tsd dev dependency
- Rewritten test with tsd
* Removed unused dependencies
* Fixed definition
* Updated test
* Updated docs
* Improved events type definitions
* Updated test
* Minor fixes in the type definitons
* More type test
* Improved Transport type definitions
* Updated test
* Addressed comments
* Code generation
* Use RequestBody, Response and Context everywhere, also default Context to unknown
* Updated test
* body -> hasBody
* Fixed conflicts
* Updated code generation
* Improved request body type definition
* Updated code generation
* Use BodyType for both request and reponses generics
- Use extends for defining the RequestBody generic to force the user
following the same shape.
- BodyType and NDBodyType now accepts a generics to allow injecting
more specific types in the future
* API generation
* Updated test
* Updated docs
* Use BodyType also in ReponseError
* Removed useless client generics
* Renamed generics and types
- prefixed all generics with a T
- BodyType => RequestBody
- NDBodyType => RequestNDBody
- Added ResponseBody
* Updated test
* Updated docs
* Test ResponseBody as well
* Simplify overloads
* API generation
* Updated test
* Updated error types
In very few cases, some API uses the same key for both url and query params, such as the bulk method.
The client is not designed to handle such cases since accepts both url and query keys in the same object, and the url parameter will always take precedence.
This pr fixes this edge case by adding a `querystring` key in the options object.
Fixes: https://github.com/elastic/elasticsearch-js/pull/778
```js
client.bulk({
index: 'index',
type: '_doc',
body: [...]
}, {
querystring: {
type: '_doc'
}
}, console.log)
```