UNPKG

@schoolbelle/common

Version:

Demo library to showcase Angular packaging format

106 lines (100 loc) 7.32 kB
import { Injectable, NgModule } from '@angular/core'; import { UserService } from '@schoolbelle/common/services/user'; import { PubsubService } from '@schoolbelle/common/services/pubsub'; import { SocketService } from '@schoolbelle/common/services/socket'; /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ class PushService { /** * @param {?} userService * @param {?} pubsubService * @param {?} socketService */ constructor(userService, pubsubService, socketService) { this.userService = userService; this.pubsubService = pubsubService; this.socketService = socketService; this.uid = undefined; this.uid; this.userService.onChange.subscribe(user => { if (user) { if (this.uid !== user.uid) { if (!this.uid) this.start(); else this.socketService.leave('user' + this.uid); this.uid = user.uid; this.socketService.join('user' + user.uid); } } else { if (this.uid) { this.socketService.leave('user' + this.uid); this.uid = undefined; this.end(); } } }); } /** * @return {?} */ start() { this.socketService.listen('notification'); this.listenSubscription = this.socketService .getObservable('notification') .subscribe(data => { console.log(data); this.pubsubService.pub('notification', data); }); } /** * @return {?} */ end() { this.listenSubscription.unsubscribe(); this.listenSubscription = undefined; this.socketService.unlisten('notification'); } } PushService.decorators = [ { type: Injectable }, ]; /** @nocollapse */ PushService.ctorParameters = () => [ { type: UserService, }, { type: PubsubService, }, { type: SocketService, }, ]; /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ class PushServiceModule { /** * @return {?} */ static forRoot() { return { ngModule: PushServiceModule, providers: [PushService] }; } } PushServiceModule.decorators = [ { type: NgModule, args: [{ declarations: [] },] }, ]; /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ export { PushService, PushServiceModule }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nob29sYmVsbGUtY29tbW9uLXNlcnZpY2VzLXB1c2guanMubWFwIiwic291cmNlcyI6WyJuZzovL0BzY2hvb2xiZWxsZS9jb21tb24vc2VydmljZXMvcHVzaC9wdXNoLnNlcnZpY2UudHMiLCJuZzovL0BzY2hvb2xiZWxsZS9jb21tb24vc2VydmljZXMvcHVzaC9wdXNoLXNlcnZpY2UubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnQHNjaG9vbGJlbGxlL2NvbW1vbi9zZXJ2aWNlcy91c2VyJztcbmltcG9ydCB7IFB1YnN1YlNlcnZpY2UgfSBmcm9tICdAc2Nob29sYmVsbGUvY29tbW9uL3NlcnZpY2VzL3B1YnN1Yic7XG5pbXBvcnQgeyBTb2NrZXRTZXJ2aWNlIH0gZnJvbSAnQHNjaG9vbGJlbGxlL2NvbW1vbi9zZXJ2aWNlcy9zb2NrZXQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQdXNoU2VydmljZSB7XG4gIHVpZDogYW55ID0gdW5kZWZpbmVkO1xuICBsaXN0ZW5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBwdWJzdWJTZXJ2aWNlOiBQdWJzdWJTZXJ2aWNlLFxuICAgIHB1YmxpYyBzb2NrZXRTZXJ2aWNlOiBTb2NrZXRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudWlkO1xuICAgIHRoaXMudXNlclNlcnZpY2Uub25DaGFuZ2Uuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgaWYgKHVzZXIpIHtcbiAgICAgICAgaWYgKHRoaXMudWlkICE9PSB1c2VyLnVpZCkge1xuICAgICAgICAgIGlmICghdGhpcy51aWQpIHRoaXMuc3RhcnQoKTtcbiAgICAgICAgICBlbHNlIHRoaXMuc29ja2V0U2VydmljZS5sZWF2ZSgndXNlcicgKyB0aGlzLnVpZCk7XG5cbiAgICAgICAgICB0aGlzLnVpZCA9IHVzZXIudWlkO1xuICAgICAgICAgIHRoaXMuc29ja2V0U2VydmljZS5qb2luKCd1c2VyJyArIHVzZXIudWlkKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMudWlkKSB7XG4gICAgICAgICAgdGhpcy5zb2NrZXRTZXJ2aWNlLmxlYXZlKCd1c2VyJyArIHRoaXMudWlkKTtcbiAgICAgICAgICB0aGlzLnVpZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAgIHRoaXMuZW5kKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIHN0YXJ0KCkge1xuICAgIHRoaXMuc29ja2V0U2VydmljZS5saXN0ZW4oJ25vdGlmaWNhdGlvbicpO1xuICAgIHRoaXMubGlzdGVuU3Vic2NyaXB0aW9uID0gdGhpcy5zb2NrZXRTZXJ2aWNlXG4gICAgICAuZ2V0T2JzZXJ2YWJsZSgnbm90aWZpY2F0aW9uJylcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgICAgICB0aGlzLnB1YnN1YlNlcnZpY2UucHViKCdub3RpZmljYXRpb24nLCBkYXRhKTtcbiAgICAgIH0pO1xuICB9XG4gIHByaXZhdGUgZW5kKCkge1xuICAgIHRoaXMubGlzdGVuU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5saXN0ZW5TdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zb2NrZXRTZXJ2aWNlLnVubGlzdGVuKCdub3RpZmljYXRpb24nKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFB1c2hTZXJ2aWNlIH0gZnJvbSAnLi9wdXNoLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFB1c2hTZXJ2aWNlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQdXNoU2VydmljZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1B1c2hTZXJ2aWNlXVxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7Ozs7O0lBV0UsWUFDUyxhQUNBLGVBQ0E7UUFGQSxnQkFBVyxHQUFYLFdBQVc7UUFDWCxrQkFBYSxHQUFiLGFBQWE7UUFDYixrQkFBYSxHQUFiLGFBQWE7bUJBTlgsU0FBUztRQVFsQixJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUk7WUFDdEMsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRzt3QkFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7O3dCQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUVqRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzVDO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzVDLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO29CQUVyQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQ1o7YUFDRjtTQUNGLENBQUMsQ0FBQztLQUNKOzs7O0lBQ08sS0FBSztRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYTthQUN6QyxhQUFhLENBQUMsY0FBYyxDQUFDO2FBQzdCLFNBQVMsQ0FBQyxJQUFJO1lBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDOUMsQ0FBQyxDQUFDOzs7OztJQUVDLEdBQUc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQzs7OztZQTFDL0MsVUFBVTs7OztZQUxGLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTs7Ozs7OztBQ0h0Qjs7OztJQU9FLE9BQU8sT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQztTQUN6QixDQUFDO0tBQ0g7OztZQVRGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsRUFBRTthQUNqQjs7Ozs7Ozs7Ozs7Ozs7OyJ9