From abbdf492e0bd45a77ae4c2e5a22b5c57cca3457a Mon Sep 17 00:00:00 2001 From: Josh Mock Date: Mon, 14 Apr 2025 12:44:39 -0500 Subject: [PATCH] Update ESQL helper types (#2738) (cherry picked from commit 931a80cacbf8a4dfb2fa3b004ede7d48f5826818) --- src/helpers.ts | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/helpers.ts b/src/helpers.ts index 46d82e28f..39e5a3e70 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -132,15 +132,6 @@ export interface EsqlColumn { type: string } -export type EsqlValue = any[] - -export type EsqlRow = EsqlValue[] - -export interface EsqlResponse { - columns: EsqlColumn[] - values: EsqlRow[] -} - export interface EsqlHelper { toRecords: () => Promise> toArrowTable: () => Promise> @@ -963,7 +954,7 @@ export default class Helpers { esql (params: T.EsqlQueryRequest, reqOptions: TransportRequestOptions = {}): EsqlHelper { const client = this[kClient] - function toRecords (response: EsqlResponse): TDocument[] { + function toRecords (response: T.EsqlEsqlResult): TDocument[] { const { columns, values } = response return values.map(row => { const doc: Partial = {} @@ -990,8 +981,7 @@ export default class Helpers { params.format = 'json' params.columnar = false - // @ts-expect-error it's typed as ArrayBuffer but we know it will be JSON - const response: EsqlResponse = await client.esql.query(params, reqOptions) + const response = await client.esql.query(params, reqOptions) const records: TDocument[] = toRecords(response) const { columns } = response return { records, columns } @@ -1005,7 +995,8 @@ export default class Helpers { params.format = 'arrow' - const response = await client.esql.query(params, reqOptions) + // @ts-expect-error the return type will be ArrayBuffer when the format is set to 'arrow' + const response: ArrayBuffer = await client.esql.query(params, reqOptions) return tableFromIPC(response) }, @@ -1018,7 +1009,8 @@ export default class Helpers { params.format = 'arrow' - const response = await client.esql.query(params, reqOptions) + // @ts-expect-error the return type will be ArrayBuffer when the format is set to 'arrow' + const response: ArrayBuffer = await client.esql.query(params, reqOptions) return RecordBatchStreamReader.from(response) } }