UNPKG

@iotize/ionic

Version:

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

32 lines 3.97 kB
import { Subject } from 'rxjs'; import { shareReplay } from 'rxjs/operators'; export class LwM2MEditableDataStream { constructor(tap, config) { this.tap = tap; this.config = config; this._values = new Subject(); /** * Values observable */ this.values = this._values.asObservable().pipe(shareReplay(1)); } /** * Read value. * It may also trigger a value changed event */ async read() { const result = await this.tap.lwm2m.execute(this.config.readCallFactory()); const body = result.body(); this._values.next(body); return body; } /** * Write given value * @param value */ async write(value) { const result = await this.tap.lwm2m.execute(this.config.writeCallFactory(value)); result.successful(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHdtMm0tZGF0YS1zdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb3RpemUtaW9uaWMvZGF0YS1zdHJlYW0vc3JjL2xpYi9sd20ybS1kYXRhLXN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU83QyxNQUFNLE9BQU8sdUJBQXVCO0lBVWxDLFlBQ1UsR0FBUSxFQUNSLE1BQXFDO1FBRHJDLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDUixXQUFNLEdBQU4sTUFBTSxDQUErQjtRQVR2QyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUU1Qzs7V0FFRztRQUNILFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUt2RCxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDM0UsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBaUI7UUFDM0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQ3BDLENBQUM7UUFDRixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VydmljZUNhbGxUeXBlLCBUYXAgfSBmcm9tICdAaW90aXplL3RhcCc7XG5pbXBvcnQgeyBFZGl0YWJsZURhdGFTdHJlYW1JbnRlcmZhY2UgfSBmcm9tICcuL2FwaS9kYXRhLXNvdXJjZS1wcm92aWRlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmludGVyZmFjZSBMd00yTUVkaXRhYmxlRGF0YVN0cmVhbUNvbmZpZyB7XG4gIHJlYWRDYWxsRmFjdG9yeSgpOiBTZXJ2aWNlQ2FsbFR5cGU8VWludDhBcnJheT47XG4gIHdyaXRlQ2FsbEZhY3RvcnkoZGF0YTogVWludDhBcnJheSk6IFNlcnZpY2VDYWxsVHlwZTx2b2lkPjtcbn1cblxuZXhwb3J0IGNsYXNzIEx3TTJNRWRpdGFibGVEYXRhU3RyZWFtXG4gIGltcGxlbWVudHMgRWRpdGFibGVEYXRhU3RyZWFtSW50ZXJmYWNlPFVpbnQ4QXJyYXk+XG57XG4gIHByaXZhdGUgX3ZhbHVlcyA9IG5ldyBTdWJqZWN0PFVpbnQ4QXJyYXk+KCk7XG5cbiAgLyoqXG4gICAqIFZhbHVlcyBvYnNlcnZhYmxlXG4gICAqL1xuICB2YWx1ZXMgPSB0aGlzLl92YWx1ZXMuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0YXA6IFRhcCxcbiAgICBwcml2YXRlIGNvbmZpZzogTHdNMk1FZGl0YWJsZURhdGFTdHJlYW1Db25maWdcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZWFkIHZhbHVlLlxuICAgKiBJdCBtYXkgYWxzbyB0cmlnZ2VyIGEgdmFsdWUgY2hhbmdlZCBldmVudFxuICAgKi9cbiAgYXN5bmMgcmVhZCgpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnRhcC5sd20ybS5leGVjdXRlKHRoaXMuY29uZmlnLnJlYWRDYWxsRmFjdG9yeSgpKTtcbiAgICBjb25zdCBib2R5ID0gcmVzdWx0LmJvZHkoKTtcbiAgICB0aGlzLl92YWx1ZXMubmV4dChib2R5KTtcbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZSBnaXZlbiB2YWx1ZVxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG4gIGFzeW5jIHdyaXRlKHZhbHVlOiBVaW50OEFycmF5KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnRhcC5sd20ybS5leGVjdXRlKFxuICAgICAgdGhpcy5jb25maWcud3JpdGVDYWxsRmFjdG9yeSh2YWx1ZSlcbiAgICApO1xuICAgIHJlc3VsdC5zdWNjZXNzZnVsKCk7XG4gIH1cbn1cbiJdfQ==