mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: improve some types (#62363)
* improve some types * more tidy up * better error message handling + update tests * undo store changes
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { FetchError } from '@grafana/runtime';
|
||||
import { getMessageFromError } from 'app/core/utils/errors';
|
||||
|
||||
describe('errors functions', () => {
|
||||
@@ -15,7 +16,7 @@ describe('errors functions', () => {
|
||||
|
||||
describe('when getMessageFromError gets an error object with message field', () => {
|
||||
beforeEach(() => {
|
||||
message = getMessageFromError({ message: 'error string' } as Error);
|
||||
message = getMessageFromError(new Error('error string'));
|
||||
});
|
||||
|
||||
it('should return the message text', () => {
|
||||
@@ -25,7 +26,7 @@ describe('errors functions', () => {
|
||||
|
||||
describe('when getMessageFromError gets an error object with data.message field', () => {
|
||||
beforeEach(() => {
|
||||
message = getMessageFromError({ data: { message: 'error string' } } as any);
|
||||
message = getMessageFromError({ data: { message: 'error string' }, status: 500 } as FetchError);
|
||||
});
|
||||
|
||||
it('should return the message text', () => {
|
||||
@@ -35,7 +36,7 @@ describe('errors functions', () => {
|
||||
|
||||
describe('when getMessageFromError gets an error object with statusText field', () => {
|
||||
beforeEach(() => {
|
||||
message = getMessageFromError({ statusText: 'error string' } as any);
|
||||
message = getMessageFromError({ data: 'foo', statusText: 'error string', status: 500 } as FetchError);
|
||||
});
|
||||
|
||||
it('should return the statusText text', () => {
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
import { isString } from 'lodash';
|
||||
import { isFetchError } from '@grafana/runtime';
|
||||
|
||||
export function getMessageFromError(err: string | (Error & { data?: any; statusText?: string })): string {
|
||||
if (err && !isString(err)) {
|
||||
if (err.message) {
|
||||
export function getMessageFromError(err: unknown): string {
|
||||
if (err) {
|
||||
if (typeof err === 'string') {
|
||||
return err;
|
||||
} else if (err instanceof Error) {
|
||||
return err.message;
|
||||
} else if (err.data && err.data.message) {
|
||||
return err.data.message;
|
||||
} else if (err.statusText) {
|
||||
return err.statusText;
|
||||
} else {
|
||||
return JSON.stringify(err);
|
||||
} else if (isFetchError(err)) {
|
||||
if (err.data && err.data.message) {
|
||||
return err.data.message;
|
||||
} else if (err.statusText) {
|
||||
return err.statusText;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
return JSON.stringify(err);
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ const datasourceSrv = new DatasourceSrvMock(defaultDS, {
|
||||
A: new MockObservableDataSourceApi('DSA', [{ data: ['AAAA'] }]),
|
||||
B: new MockObservableDataSourceApi('DSB', [{ data: ['BBBB'] }]),
|
||||
C: new MockObservableDataSourceApi('DSC', [{ data: ['CCCC'] }]),
|
||||
D: new MockObservableDataSourceApi('DSD', [{ data: [] }], {}, 'syntax error near FROM'),
|
||||
E: new MockObservableDataSourceApi('DSE', [{ data: [] }], {}, 'syntax error near WHERE'),
|
||||
D: new MockObservableDataSourceApi('DSD', [{ data: [] }], undefined, 'syntax error near FROM'),
|
||||
E: new MockObservableDataSourceApi('DSE', [{ data: [] }], undefined, 'syntax error near WHERE'),
|
||||
Loki: new MockObservableDataSourceApi('Loki', [
|
||||
{ data: ['A'], key: 'A' },
|
||||
{ data: ['B'], key: 'B' },
|
||||
|
||||
@@ -24,13 +24,6 @@ export interface ScatterHoverEvent {
|
||||
|
||||
export type ScatterHoverCallback = (evt?: ScatterHoverEvent) => void;
|
||||
|
||||
export interface LegendInfo {
|
||||
color: CanvasRenderingContext2D['strokeStyle'];
|
||||
text: string;
|
||||
symbol: string;
|
||||
openEditor?: (evt: any) => void;
|
||||
}
|
||||
|
||||
export interface ScatterFieldConfig extends GeneratedScatterFieldConfig {
|
||||
pointSymbol?: DimensionSupplier<string>;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ export enum DashboardInitPhase {
|
||||
|
||||
export interface DashboardInitError {
|
||||
message: string;
|
||||
error: any;
|
||||
error: unknown;
|
||||
}
|
||||
|
||||
export enum KioskMode {
|
||||
|
||||
@@ -9,7 +9,6 @@ import {
|
||||
HistoryItem,
|
||||
LogsModel,
|
||||
PanelData,
|
||||
QueryHint,
|
||||
RawTimeRange,
|
||||
TimeRange,
|
||||
EventBusExtended,
|
||||
@@ -231,11 +230,8 @@ export interface QueryOptions {
|
||||
export interface QueryTransaction {
|
||||
id: string;
|
||||
done: boolean;
|
||||
error?: string | JSX.Element;
|
||||
hints?: QueryHint[];
|
||||
request: DataQueryRequest;
|
||||
queries: DataQuery[];
|
||||
result?: any; // Table model / Timeseries[] / Logs
|
||||
scanning?: boolean;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { PanelPlugin, PluginError, PluginMeta } from '@grafana/data';
|
||||
import { TemplateSrv } from '@grafana/runtime';
|
||||
|
||||
export interface PluginDashboard {
|
||||
dashboardId: number;
|
||||
@@ -31,13 +30,3 @@ export interface PluginsState {
|
||||
isLoadingPluginDashboards: boolean;
|
||||
panels: PanelPluginsIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use VariableQueryEditorProps instead
|
||||
*/
|
||||
export interface VariableQueryProps {
|
||||
query: any;
|
||||
onChange: (query: any, definition: string) => void;
|
||||
datasource: any;
|
||||
templateSrv: TemplateSrv;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user