// Licensed to Elasticsearch B.V under one or more agreements. // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information import { expectType } from 'tsd' import { TransportRequestCallback } from '../../lib/Transport' import { Client, ApiError } from '../../' const client = new Client({ node: 'http://localhost:9200' }) // No generics (promise style) { const response = await client.cat.count({ index: 'test' }) expectType>(response.body) expectType(response.meta.context) } // Define only the response body (promise style) { const response = await client.cat.count({ index: 'test' }) expectType(response.body) expectType(response.meta.context) } // Define response body and the context (promise style) { const response = await client.cat.count({ index: 'test' }) expectType(response.body) expectType(response.meta.context) } // No generics (callback style) { const result = client.cat.count({ index: 'test' }, (err, response) => { expectType(err) expectType>(response.body) expectType(response.meta.context) }) expectType(result) } // Define only the response body (callback style) { const result = client.cat.count({ index: 'test' }, (err, response) => { expectType(err) expectType(response.body) expectType(response.meta.context) }) expectType(result) } // Define response body and the context (callback style) { const result = client.cat.count({ index: 'test' }, (err, response) => { expectType(err) expectType(response.body) expectType(response.meta.context) }) expectType(result) }