Files
grafana/public/app/features/variables/query/variableQueryObserver.ts
Ashley Harrison 641031cfaf Chore: Type fixes (#103340)
* tidy tidy

* more fixes

* some TableNG fixes

* another TableNG test fix

* some more fixes

* betterer...
2025-04-07 11:29:30 +01:00

38 lines
881 B
TypeScript

import { Observer, Subscription } from 'rxjs';
import { LoadingState } from '@grafana/data';
import { UpdateOptionsResults } from './VariableQueryRunner';
export function variableQueryObserver(
resolve: (value?: unknown) => void,
reject: (value?: unknown) => void,
subscription: Subscription
): Observer<UpdateOptionsResults> {
const observer: Observer<UpdateOptionsResults> = {
next: (results) => {
if (results.state === LoadingState.Error) {
subscription.unsubscribe();
reject(results.error);
return;
}
if (results.state === LoadingState.Done) {
subscription.unsubscribe();
resolve();
return;
}
},
error: (err) => {
subscription.unsubscribe();
reject(err);
},
complete: () => {
subscription.unsubscribe();
resolve();
},
};
return observer;
}