Skip to content

Commit ef912fc

Browse files
committed
APM: Explicitly type Setup to prevent hitting TS limits
1 parent d123c35 commit ef912fc

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

x-pack/legacy/plugins/apm/server/lib/helpers/setup_request.ts

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,15 @@
77
import { Legacy } from 'kibana';
88
import { Server } from 'hapi';
99
import moment from 'moment';
10+
import { KibanaConfig } from 'src/legacy/server/kbn_server';
1011
import { getESClient } from './es_client';
1112
import { getUiFiltersES } from './convert_ui_filters/get_ui_filters_es';
12-
import { PromiseReturnType } from '../../../typings/common';
13-
import { getApmIndices } from '../settings/apm_indices/get_apm_indices';
13+
import {
14+
getApmIndices,
15+
ApmIndicesConfig
16+
} from '../settings/apm_indices/get_apm_indices';
17+
import { ESFilter } from '../../../typings/elasticsearch';
18+
import { ESClient } from './es_client';
1419

1520
function decodeUiFilters(server: Server, uiFiltersEncoded?: string) {
1621
if (!uiFiltersEncoded) {
@@ -26,9 +31,20 @@ export interface APMRequestQuery {
2631
end?: string;
2732
uiFilters?: string;
2833
}
34+
// Explicitly type Setup to prevent TS initialization errors
35+
// https://github.com/microsoft/TypeScript/issues/34933
2936

30-
export type Setup = PromiseReturnType<typeof setupRequest>;
31-
export async function setupRequest(req: Legacy.Request) {
37+
export interface Setup {
38+
start: number;
39+
end: number;
40+
uiFiltersES: ESFilter[];
41+
client: ESClient;
42+
internalClient: ESClient;
43+
config: KibanaConfig;
44+
indices: ApmIndicesConfig;
45+
}
46+
47+
export async function setupRequest(req: Legacy.Request): Promise<Setup> {
3248
const query = (req.query as unknown) as APMRequestQuery;
3349
const { server } = req;
3450
const savedObjectsClient = server.savedObjects.getScopedSavedObjectsClient(

0 commit comments

Comments
 (0)