Chore: Remove CancelablePromise (#89564)

* Remove CancelablePromise.ts as it wasn't used in anywhere

* Move cancelable-promise to the place where it is used
pull/89995/head
ismail simsek 11 months ago committed by Ryan McKinley
parent 177747ecda
commit ddea4ba8b2
  1. 6
      packages/grafana-prometheus/src/components/PromQueryField.tsx
  2. 0
      packages/grafana-prometheus/src/components/cancelable-promise.ts
  3. 31
      public/app/core/utils/CancelablePromise.ts

@ -9,15 +9,11 @@ import { clearButtonStyles, Icon, Themeable2, withTheme2 } from '@grafana/ui';
import { PrometheusDatasource } from '../datasource';
import { LocalStorageValueProvider } from '../gcopypaste/app/core/components/LocalStorageValueProvider';
import {
CancelablePromise,
isCancelablePromiseRejection,
makePromiseCancelable,
} from '../gcopypaste/app/core/utils/CancelablePromise';
import { roundMsToMin } from '../language_utils';
import { PromOptions, PromQuery } from '../types';
import { PrometheusMetricsBrowser } from './PrometheusMetricsBrowser';
import { CancelablePromise, isCancelablePromiseRejection, makePromiseCancelable } from './cancelable-promise';
import { MonacoQueryFieldWrapper } from './monaco-query-field/MonacoQueryFieldWrapper';
const LAST_USED_LABELS_KEY = 'grafana.datasources.prometheus.browser.labels';

@ -1,31 +0,0 @@
// https://github.com/facebook/react/issues/5465
export interface CancelablePromise<T> {
promise: Promise<T>;
cancel: () => void;
}
export interface CancelablePromiseRejection {
isCanceled: boolean;
}
export function isCancelablePromiseRejection(promise: unknown): promise is CancelablePromiseRejection {
return typeof promise === 'object' && promise !== null && 'isCanceled' in promise;
}
export const makePromiseCancelable = <T>(promise: Promise<T>): CancelablePromise<T> => {
let hasCanceled_ = false;
const wrappedPromise = new Promise<T>((resolve, reject) => {
const canceledPromiseRejection: CancelablePromiseRejection = { isCanceled: true };
promise.then((val) => (hasCanceled_ ? reject(canceledPromiseRejection) : resolve(val)));
promise.catch((error) => (hasCanceled_ ? reject(canceledPromiseRejection) : reject(error)));
});
return {
promise: wrappedPromise,
cancel() {
hasCanceled_ = true;
},
};
};
Loading…
Cancel
Save