@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
33 lines • 3.77 kB
JavaScript
import { sleep } from '@iotize/common/utility';
import { BehaviorSubject, Subject } from 'rxjs';
export class TestingScanner {
scanning = new BehaviorSubject(false);
_results$ = new Subject();
_results = [];
get isScanning() {
return this.scanning.value;
}
get results() {
return this._results$.asObservable();
}
async start(option) {
this.clearResults();
await sleep(100);
if (!this.isScanning) {
this.scanning.next(true);
}
}
async stop() {
await sleep(100);
this.scanning.next(false);
}
addResult(result) {
this._results.push(result);
this._results$.next(this._results);
}
clearResults() {
this._results = [];
this._results$.next(this._results);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy1zY2FubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL3Rlc3Rpbmcvc3JjL2xpYi90ZXN0aW5nLXNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFFBQVEsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFakUsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7SUFDL0IsUUFBUSxHQUFRLEVBQUUsQ0FBQztJQUUzQixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBNkI7UUFDdkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBUztRQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNsZWVwIH0gZnJvbSAnQGlvdGl6ZS9jb21tb24vdXRpbGl0eSc7XG5pbXBvcnQgeyBEZXZpY2VTY2FubmVyLCBEZXZpY2VTY2FubmVyT3B0aW9ucyB9IGZyb20gJ0Bpb3RpemUvdGFwL3NjYW5uZXIvYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgVGVzdGluZ1NjYW5uZXI8VD4gaW1wbGVtZW50cyBEZXZpY2VTY2FubmVyPFQ+IHtcbiAgc2Nhbm5pbmc6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgX3Jlc3VsdHMkID0gbmV3IFN1YmplY3Q8VFtdPigpO1xuICBwcml2YXRlIF9yZXN1bHRzOiBUW10gPSBbXTtcblxuICBnZXQgaXNTY2FubmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zY2FubmluZy52YWx1ZTtcbiAgfVxuXG4gIGdldCByZXN1bHRzKCkge1xuICAgIHJldHVybiB0aGlzLl9yZXN1bHRzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGFzeW5jIHN0YXJ0KG9wdGlvbj86IERldmljZVNjYW5uZXJPcHRpb25zKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0aGlzLmNsZWFyUmVzdWx0cygpO1xuICAgIGF3YWl0IHNsZWVwKDEwMCk7XG4gICAgaWYgKCF0aGlzLmlzU2Nhbm5pbmcpIHtcbiAgICAgIHRoaXMuc2Nhbm5pbmcubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzdG9wKCk6IFByb21pc2U8YW55PiB7XG4gICAgYXdhaXQgc2xlZXAoMTAwKTtcbiAgICB0aGlzLnNjYW5uaW5nLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgYWRkUmVzdWx0KHJlc3VsdDogVCkge1xuICAgIHRoaXMuX3Jlc3VsdHMucHVzaChyZXN1bHQpO1xuICAgIHRoaXMuX3Jlc3VsdHMkLm5leHQodGhpcy5fcmVzdWx0cyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUmVzdWx0cygpIHtcbiAgICB0aGlzLl9yZXN1bHRzID0gW107XG4gICAgdGhpcy5fcmVzdWx0cyQubmV4dCh0aGlzLl9yZXN1bHRzKTtcbiAgfVxufVxuIl19