UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

21 lines 2.5 kB
import { distinctUntilChanged, map } from 'rxjs/operators'; /** * A abstract state which should be included in each state. * @abstract */ export class StateService { /** * Maps to a property and just returns that property. * @param mappedProperty The property to map to. */ map(mappedProperty) { return this.state$.pipe(map(mappedProperty), distinctUntilChanged()); } /** * Emits a new state. */ emitNewState() { this.state$.next(this.state); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtc2VydmljZS5hYnN0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3N0YXRlLXNlcnZpY2UuYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNEOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsWUFBWTtJQVloQzs7O09BR0c7SUFDSCxHQUFHLENBQUMsY0FBc0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7T0FFRztJQUNPLFlBQVk7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBBIGFic3RyYWN0IHN0YXRlIHdoaWNoIHNob3VsZCBiZSBpbmNsdWRlZCBpbiBlYWNoIHN0YXRlLlxuICogQGFic3RyYWN0XG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdGF0ZVNlcnZpY2Uge1xuICAvKipcbiAgICogU2F2ZXMgdGhlIHN0YXRlLiBTaG91bGQgbm90IGJlIGFjY2Vzc2libGUgZGlyZWN0bHkuIFVzZSBtYXAgb3IgdGhlIGdldHRlciB0byBhY2Nlc3NcbiAgICogdGhlIHN0YXRlLiBVc2UgZnVuY3Rpb25zIGluIHRoZSBpbXBsZW1lbnRhdGlvbiB0byBjaGFuZ2UgdGhlIHN0YXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHN0YXRlJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gfCBhbnk7XG5cbiAgLyoqXG4gICAqIFNob3VsZCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhpcyBTdGF0ZVNlcnZpY2VcbiAgICovXG4gIGFic3RyYWN0IGdldCBzdGF0ZSgpO1xuXG4gIC8qKlxuICAgKiBNYXBzIHRvIGEgcHJvcGVydHkgYW5kIGp1c3QgcmV0dXJucyB0aGF0IHByb3BlcnR5LlxuICAgKiBAcGFyYW0gbWFwcGVkUHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIG1hcCB0by5cbiAgICovXG4gIG1hcChtYXBwZWRQcm9wZXJ0eTogKHN0YXRlUHJvcGVydHkpID0+IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUobWFwKG1hcHBlZFByb3BlcnR5KSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSBuZXcgc3RhdGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgZW1pdE5ld1N0YXRlKCkge1xuICAgIHRoaXMuc3RhdGUkLm5leHQodGhpcy5zdGF0ZSk7XG4gIH1cbn1cbiJdfQ==