@iotize/device-client.js
Version:
IoTize Device client for Javascript
27 lines (26 loc) • 1.34 kB
TypeScript
import { Subscription, Observable, Subject } from 'rxjs';
import { VariableMonitor, VariableMonitorOptions, VariableMonitorEvent, VariableMonitoringUpdate, VariableMonitorEventType } from './variable-monitor.interface';
import { VariableInteraction } from '../variable-interaction.interface';
export declare class DefaultVariableMonitor<DataType> implements VariableMonitor<DataType> {
static DEFAULT_PERIOD: number;
static fromVariable<DataType>(variable: VariableInteraction<DataType>): DefaultVariableMonitor<DataType>;
_previousValue?: DataType;
_values?: Subject<DataType>;
_events?: Subject<VariableMonitorEvent>;
_options: VariableMonitorOptions;
_interval?: Observable<number>;
_intervalSubscription?: Subscription;
_updater: VariableMonitoringUpdate<DataType>;
constructor(updater: VariableMonitoringUpdate<DataType>);
start(options?: VariableMonitorOptions): this;
isStarted(): boolean;
pause(): this;
stop(): this;
values(): Observable<DataType>;
events(): Observable<VariableMonitorEvent>;
notifyNewValue(data: DataType): void;
fetchNewValue(count: number): Promise<any>;
notifyValueError(error: any): void;
protected valueHasChanged(newValue: DataType): boolean;
protected _emit(type: VariableMonitorEventType): void;
}