UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

34 lines (33 loc) 983 B
import { Observable } from 'rxjs'; export interface EditableDataStreamInterface<DataType> { /** * Values observable */ values: Observable<DataType>; /** * Read value. * It may also trigger a value changed event */ read(): Promise<DataType>; /** * Write given value * @param value */ write(value: DataType): Promise<any>; } export interface DataSourceProviderInterface { getAvailableStreamIds(): string[]; /** * @deprecated no usefull anymore as getStream() can return any type including an editable stream * @param streamId * @returns */ getEditableStream(streamId: string): Observable<undefined | EditableDataStreamInterface<unknown>>; getStream<T = unknown>(streamId: string): Observable<T>; /** * Notify value on given data stream * @param streamId * @param value */ notifyValue<T>(streamId: string, value: T): void; }