UNPKG

ns-ngrx-debugger

Version:

A minimal nativescript debugger for ngrx-store & ngrx-effects

70 lines (69 loc) 2.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@angular/core"); var store_1 = require("@ngrx/store"); var effects_1 = require("@ngrx/effects"); var Observable_1 = require("rxjs/Observable"); var BehaviorSubject_1 = require("rxjs/BehaviorSubject"); require("rxjs/add/observable/from"); require("rxjs/add/operator/map"); require("rxjs/add/operator/do"); require("rxjs/add/operator/distinctUntilChanged"); require("rxjs/add/operator/debounceTime"); require("rxjs/add/operator/scan"); // declare var module; var Debugger = (function () { function Debugger(store$, actions) { this.store$ = store$; this.states = {}; this.expanded = []; this.pan$ = new BehaviorSubject_1.BehaviorSubject({ top: 0, left: 300 }); this.hidden = false; this.actions$ = actions.do(function (_a) { var type = _a.type; return console.log('[ACTION] ' + type); }); } Debugger.prototype.ngOnInit = function () { var _this = this; this.position$ = Observable_1.Observable.from(this.pan$) .debounceTime(50) .scan(function (position, _a) { var top = _a.top, left = _a.left; return ({ top: position.top + top, left: position.left + left }); }); this.states$ = this.store$ .distinctUntilChanged() .do(function (states) { return _this.states = states; }) .map(function (states) { return Object.keys(states); }); }; Debugger.prototype.onDump = function (state) { var debug; if (this.selected && this.states[this.selected][state]) debug = this.states[this.selected][state]; else debug = this.states[state]; typeof debug == 'string' ? console.log(debug) : console.dir(debug); }; Debugger.prototype.onExpand = function (state) { this.selected = this.selected == state ? false : state; this.expanded = this.selected && Object.keys(this.states[this.selected]); }; Debugger.prototype.ngOnDestroy = function () { }; return Debugger; }()); __decorate([ core_1.Input(), __metadata("design:type", Object) ], Debugger.prototype, "hidden", void 0); Debugger = __decorate([ core_1.Component({ moduleId: module.id, selector: "ns-ngrx-debugger", styleUrls: ['./debugger.css'], templateUrl: './debugger.html', }), __metadata("design:paramtypes", [store_1.Store, effects_1.Actions]) ], Debugger); exports.Debugger = Debugger;