Chore: more any/type assertion improvements (#59229)

more any/type assertion improvements
This commit is contained in:
Ashley Harrison
2022-11-23 16:54:57 +00:00
committed by GitHub
parent a098bdef58
commit d33b4918cd
34 changed files with 131 additions and 203 deletions

View File

@@ -214,7 +214,7 @@ function SearchSection({ logsDatasourceUid, onChange, onRunQuery, query }: Searc
datasource={ds}
onChange={onChange}
onRunQuery={onRunQuery}
query={query.linkedQuery ?? ({ refId: 'linked' } as any)}
query={query.linkedQuery ?? ({ refId: 'linked' } as LokiQuery)}
history={[]}
/>
</>

View File

@@ -366,7 +366,7 @@ export class TempoDatasource extends DataSourceWithBackend<TempoQuery, TempoJson
method: 'GET',
url: `${this.instanceSettings.url}/api/echo`,
};
const response = await lastValueFrom(getBackendSrv().fetch<any>(options));
const response = await lastValueFrom(getBackendSrv().fetch(options));
if (response?.ok) {
return { status: 'success', message: 'Data source is working' };

View File

@@ -1,4 +1,4 @@
import { DataSourceInstanceSettings, PluginType } from '@grafana/data/src';
import { DataSourceInstanceSettings, PluginMetaInfo, PluginType } from '@grafana/data';
import { monacoTypes } from '@grafana/ui';
import { TempoDatasource } from '../datasource';
@@ -14,7 +14,10 @@ jest.mock('@grafana/runtime', () => ({
describe('CompletionProvider', () => {
it('suggests tags, intrinsics and scopes', async () => {
const { provider, model } = setup('{}', 1, defaultTags);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([
...CompletionProvider.scopes.map((s) => expect.objectContaining({ label: s, insertText: s })),
...CompletionProvider.intrinsics.map((s) => expect.objectContaining({ label: s, insertText: s })),
@@ -38,7 +41,10 @@ describe('CompletionProvider', () => {
})
);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([
expect.objectContaining({ label: 'foobar', insertText: '"foobar"' }),
]);
@@ -59,7 +65,10 @@ describe('CompletionProvider', () => {
})
);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([
expect.objectContaining({ label: 'foobar', insertText: 'foobar' }),
]);
@@ -67,13 +76,19 @@ describe('CompletionProvider', () => {
it('suggests nothing without tags', async () => {
const { provider, model } = setup('{foo="}', 7, []);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([]);
});
it('suggests tags on empty input', async () => {
const { provider, model } = setup('', 0, defaultTags);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([
...CompletionProvider.scopes.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}` })),
...CompletionProvider.intrinsics.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}` })),
@@ -84,7 +99,10 @@ describe('CompletionProvider', () => {
it('suggests operators after a space after the tag name', async () => {
const { provider, model } = setup('{ foo }', 6, defaultTags);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual(
CompletionProvider.operators.map((s) => expect.objectContaining({ label: s, insertText: s }))
);
@@ -92,7 +110,10 @@ describe('CompletionProvider', () => {
it('suggests tags after a scope', async () => {
const { provider, model } = setup('{ resource. }', 11, defaultTags);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([
...CompletionProvider.intrinsics.map((s) => expect.objectContaining({ label: s, insertText: s })),
...defaultTags.map((s) => expect.objectContaining({ label: s, insertText: s })),
@@ -101,7 +122,10 @@ describe('CompletionProvider', () => {
it('suggests logical operators and close bracket after the value', async () => {
const { provider, model } = setup('{foo=300 }', 9, defaultTags);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([
...CompletionProvider.logicalOps.map((s) => expect.objectContaining({ label: s, insertText: s })),
expect.objectContaining({ label: '}', insertText: '}' }),
@@ -122,7 +146,10 @@ describe('CompletionProvider', () => {
]);
})
);
const result = await provider.provideCompletionItems(model as any, {} as any);
const result = await provider.provideCompletionItems(
model as unknown as monacoTypes.editor.ITextModel,
{} as monacoTypes.Position
);
expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([
expect.objectContaining({ label: 'foobar', insertText: 'foobar' }),
]);
@@ -185,7 +212,7 @@ const defaultSettings: DataSourceInstanceSettings<TempoJsonData> = {
id: 'tempo',
name: 'tempo',
type: PluginType.datasource,
info: {} as any,
info: {} as PluginMetaInfo,
module: '',
baseUrl: '',
},

View File

@@ -124,7 +124,7 @@ export class CompletionProvider implements monacoTypes.languages.CompletionItemP
return CompletionProvider.operators.map((key) => ({
label: key,
insertText: key,
type: 'OPERATOR' as CompletionType,
type: 'OPERATOR',
}));
case 'SPANSET_IN_VALUE':
const tagName = this.overrideTagName(situation.tagName);
@@ -144,7 +144,7 @@ export class CompletionProvider implements monacoTypes.languages.CompletionItemP
return CompletionProvider.logicalOps.concat('}').map((key) => ({
label: key,
insertText: key,
type: 'OPERATOR' as CompletionType,
type: 'OPERATOR',
}));
default:
throw new Error(`Unexpected situation ${situation}`);
@@ -157,7 +157,7 @@ export class CompletionProvider implements monacoTypes.languages.CompletionItemP
.map((key) => ({
label: key,
insertText: (prepend || '') + key,
type: 'TAG_NAME' as CompletionType,
type: 'TAG_NAME',
}));
}
@@ -165,7 +165,7 @@ export class CompletionProvider implements monacoTypes.languages.CompletionItemP
return CompletionProvider.intrinsics.map((key) => ({
label: key,
insertText: (prepend || '') + key,
type: 'KEYWORD' as CompletionType,
type: 'KEYWORD',
}));
}
@@ -173,7 +173,7 @@ export class CompletionProvider implements monacoTypes.languages.CompletionItemP
return CompletionProvider.scopes.map((key) => ({
label: key,
insertText: (prepend || '') + key,
type: 'SCOPE' as CompletionType,
type: 'SCOPE',
}));
}