Chore: fix some typings in @grafana/data (#60009)
fix some typings in @grafana/data
This commit is contained in:
@@ -6,7 +6,7 @@ import { vectorToArray } from '../vector/vectorToArray';
|
||||
import { guessFieldTypeFromNameAndValue, toDataFrameDTO } from './processDataFrame';
|
||||
|
||||
/** @public */
|
||||
export type ValueConverter<T = any> = (val: any) => T;
|
||||
export type ValueConverter<T = any> = (val: unknown) => T;
|
||||
|
||||
const NOOP: ValueConverter = (v) => v;
|
||||
|
||||
@@ -67,7 +67,7 @@ export class ArrayDataFrame<T = any> extends FunctionalVector<T> implements Data
|
||||
/**
|
||||
* Add a field for each property in the object. This will guess the type
|
||||
*/
|
||||
setFieldsFromObject(obj: any) {
|
||||
setFieldsFromObject(obj: Record<string, unknown>) {
|
||||
this.fields = Object.keys(obj).map((name) => {
|
||||
return {
|
||||
name,
|
||||
|
||||
@@ -111,7 +111,7 @@ export interface FieldValueEntityLookup {
|
||||
NegInf?: number[];
|
||||
}
|
||||
|
||||
const ENTITY_MAP: Record<keyof FieldValueEntityLookup, any> = {
|
||||
const ENTITY_MAP: Record<keyof FieldValueEntityLookup, number | undefined> = {
|
||||
Inf: Infinity,
|
||||
NegInf: -Infinity,
|
||||
Undef: undefined,
|
||||
|
||||
@@ -13,7 +13,7 @@ export type MutableField<T = any> = Field<T, MutableVector<T>>;
|
||||
|
||||
type MutableVectorCreator = (buffer?: any[]) => MutableVector;
|
||||
|
||||
export const MISSING_VALUE: any = undefined; // Treated as connected in new graph panel
|
||||
export const MISSING_VALUE = undefined; // Treated as connected in new graph panel
|
||||
|
||||
export class MutableDataFrame<T = any> extends FunctionalVector<T> implements DataFrame, MutableVector<T> {
|
||||
name?: string;
|
||||
@@ -67,7 +67,7 @@ export class MutableDataFrame<T = any> extends FunctionalVector<T> implements Da
|
||||
return this.first.length;
|
||||
}
|
||||
|
||||
addFieldFor(value: any, name?: string): MutableField {
|
||||
addFieldFor(value: unknown, name?: string): MutableField {
|
||||
return this.addField({
|
||||
name: name || '', // Will be filled in
|
||||
type: guessFieldTypeFromValue(value),
|
||||
@@ -79,7 +79,7 @@ export class MutableDataFrame<T = any> extends FunctionalVector<T> implements Da
|
||||
|
||||
if (f.values) {
|
||||
if (Array.isArray(f.values)) {
|
||||
buffer = f.values as any[];
|
||||
buffer = f.values;
|
||||
} else {
|
||||
buffer = (f.values as Vector).toArray();
|
||||
}
|
||||
@@ -181,7 +181,7 @@ export class MutableDataFrame<T = any> extends FunctionalVector<T> implements Da
|
||||
/**
|
||||
* This will add each value to the corresponding column
|
||||
*/
|
||||
appendRow(row: any[]) {
|
||||
appendRow(row: unknown[]) {
|
||||
// Add any extra columns
|
||||
for (let i = this.fields.length; i < row.length; i++) {
|
||||
this.addField({
|
||||
@@ -233,7 +233,7 @@ export class MutableDataFrame<T = any> extends FunctionalVector<T> implements Da
|
||||
|
||||
set(index: number, value: T) {
|
||||
if (index > this.length) {
|
||||
throw new Error('Unable ot set value beyond current length');
|
||||
throw new Error('Unable to set value beyond current length');
|
||||
}
|
||||
|
||||
const obj = (value as any) || {};
|
||||
|
||||
@@ -43,11 +43,14 @@ export function compareDataFrameStructures(a: DataFrame, b: DataFrame, skipConfi
|
||||
return false;
|
||||
}
|
||||
|
||||
const cfgA = fA.config as any;
|
||||
const cfgB = fB.config as any;
|
||||
const cfgA = fA.config;
|
||||
const cfgB = fB.config;
|
||||
|
||||
let aKeys = Object.keys(cfgA);
|
||||
let bKeys = Object.keys(cfgB);
|
||||
// need to type assert on the object keys here
|
||||
// see e.g. https://github.com/Microsoft/TypeScript/issues/12870
|
||||
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
||||
let aKeys = Object.keys(cfgA) as Array<keyof typeof cfgA>;
|
||||
let bKeys = Object.keys(cfgB) as Array<keyof typeof cfgB>;
|
||||
|
||||
if (aKeys.length !== bKeys.length) {
|
||||
return false;
|
||||
|
||||
@@ -180,7 +180,7 @@ const NUMBER = /^\s*(-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?|NAN)\s*$/i;
|
||||
/**
|
||||
* Given a name and value, this will pick a reasonable field type
|
||||
*/
|
||||
export function guessFieldTypeFromNameAndValue(name: string, v: any): FieldType {
|
||||
export function guessFieldTypeFromNameAndValue(name: string, v: unknown): FieldType {
|
||||
if (name) {
|
||||
name = name.toLowerCase();
|
||||
if (name === 'date' || name === 'time') {
|
||||
@@ -193,7 +193,7 @@ export function guessFieldTypeFromNameAndValue(name: string, v: any): FieldType
|
||||
/**
|
||||
* Check the field type to see what the contents are
|
||||
*/
|
||||
export function getFieldTypeFromValue(v: any): FieldType {
|
||||
export function getFieldTypeFromValue(v: unknown): FieldType {
|
||||
if (v instanceof Date || isDateTime(v)) {
|
||||
return FieldType.time;
|
||||
}
|
||||
@@ -218,7 +218,7 @@ export function getFieldTypeFromValue(v: any): FieldType {
|
||||
*
|
||||
* NOTE: this is will try to see if string values can be mapped to other types (like number)
|
||||
*/
|
||||
export function guessFieldTypeFromValue(v: any): FieldType {
|
||||
export function guessFieldTypeFromValue(v: unknown): FieldType {
|
||||
if (v instanceof Date || isDateTime(v)) {
|
||||
return FieldType.time;
|
||||
}
|
||||
@@ -299,9 +299,9 @@ export const guessFieldTypes = (series: DataFrame, guessDefined = false): DataFr
|
||||
return series;
|
||||
};
|
||||
|
||||
export const isTableData = (data: any): data is DataFrame => data && data.hasOwnProperty('columns');
|
||||
export const isTableData = (data: unknown): data is DataFrame => Boolean(data && data.hasOwnProperty('columns'));
|
||||
|
||||
export const isDataFrame = (data: any): data is DataFrame => data && data.hasOwnProperty('fields');
|
||||
export const isDataFrame = (data: unknown): data is DataFrame => Boolean(data && data.hasOwnProperty('fields'));
|
||||
|
||||
/**
|
||||
* Inspect any object and return the results as a DataFrame
|
||||
|
||||
Reference in New Issue
Block a user