1 | import { PollingMeasure } from './polling-measure.js';
|
2 | export interface PollingObserverOptions {
|
3 | timeout?: number;
|
4 | interval?: number;
|
5 | }
|
6 | declare type PollingCallback<T> = () => T | Promise<T>;
|
7 | declare type ConditionCallback<T> = (data: T | null | undefined, records: PollingObserver<T>['_records'], object: PollingObserver<T>) => boolean | Promise<boolean>;
|
8 | export interface OnfinishFulfilled<T> {
|
9 | status: 'finish' | 'timeout';
|
10 | value: T | null | undefined;
|
11 | }
|
12 | export interface OnfinishRejected {
|
13 | status: 'error';
|
14 | reason: Error;
|
15 | }
|
16 | export declare type OnfinishValue<T> = OnfinishFulfilled<T> | OnfinishRejected;
|
17 | declare type OnfinishCallback<T> = (value: OnfinishValue<T>, records: PollingObserver<T>['_records'], object: PollingObserver<T>) => unknown;
|
18 | export declare class PollingObserver<T> {
|
19 | conditionCallback: ConditionCallback<T>;
|
20 | onfinish?: OnfinishCallback<T>;
|
21 | private _forceStop;
|
22 | private _records;
|
23 | private _isPolling;
|
24 | constructor(conditionCallback: ConditionCallback<T>);
|
25 | disconnect(): void;
|
26 | observe(callback: PollingCallback<T>, options?: PollingObserverOptions): Promise<void>;
|
27 | takeRecords(): PollingMeasure[];
|
28 | }
|
29 | export default PollingObserver;
|
30 | //# sourceMappingURL=polling-observer.d.ts.map |
\ | No newline at end of file |