@chatie/angular
Advanced tools
Comparing version 0.1.18 to 0.1.19
@@ -211,3 +211,3 @@ (function (global, factory) { | ||
} | ||
set token(token) { this.updateToken(token || ''); } | ||
set token(token) { this.updateToken(token); } | ||
get token() { return this._token; } | ||
@@ -274,3 +274,3 @@ ngOnInit() { | ||
this.log.silly('WechatyCoreCmp', 'set token(%s)', token); | ||
if (token && this._token === token) { | ||
if (!token || this._token === token) { | ||
return; | ||
@@ -277,0 +277,0 @@ } |
@@ -217,3 +217,3 @@ (function (global, factory) { | ||
get: function () { return this._token; }, | ||
set: function (token) { this.updateToken(token || ''); }, | ||
set: function (token) { this.updateToken(token); }, | ||
enumerable: true, | ||
@@ -282,3 +282,3 @@ configurable: true | ||
this.log.silly('WechatyCoreCmp', 'set token(%s)', token); | ||
if (token && this._token === token) { | ||
if (!token || this._token === token) { | ||
return; | ||
@@ -285,0 +285,0 @@ } |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs/Rx"),require("brolog")):"function"==typeof define&&define.amd?define(["exports","@angular/core","rxjs/Rx","brolog"],t):t((e.ng=e.ng||{},e.ng.wechaty=e.ng.wechaty||{}),e.ng.core,e.rxjs_Rx,e.brolog)}(this,function(e,t,o,i){"use strict";function n(e){this.log.verbose("IoService","onOpen()"),this.log.verbose("IoService","onOpen() require update from io");var t={name:"update",payload:"onOpen"};this.ioSubject.next(t)}function s(e){var t=this;this.log.verbose("IoService","onClose(%s)",e),this.autoReconnect&&setTimeout(function(e){t.initWebSocket()},1e3),e.wasClean}function r(e){this.log.silly("IoService","onError(%s)",e),this.websocket=null}function c(e){var t=e.data;this.log.verbose("IoService","onMessage(%s)",t);var o={name:"raw",payload:t};try{var i=JSON.parse(t);o.name=i.name,o.payload=i.payload}catch(e){this.log.warn("IoService","onMessage parse message fail.")}this.subscriber.next(o)}var a=function(){function e(e){this.injector=e,this.ENDPOINT="wss://api.wechaty.io/v0/websocket/token/",this.PROTOCOL="web|0.0.1",this.sendBuffer=[],this.log=i.Brolog.instance(),this.autoReconnect=!0,this.log.verbose("IoService","constructor()")}return e.prototype.setToken=function(e){this.log.silly("IoService","setToken(%s)",e),this.token=e},e.prototype.start=function(){var e=this;return this.log.silly("IoService","start() with token:[%s]",this.token),this.token||this.log.warn("IoService","start() without valid token:[%s]",this.token),this.autoReconnect=!0,this.initIoSubject().then(function(t){return e.initWebSocket()}).then(function(t){return e}).catch(function(t){throw e.log.silly("IoService","start() exception: %s",t.message),t})},e.prototype.stop=function(){return this.log.verbose("IoService","stop()"),this.autoReconnect=!1,this.websocket&&this.websocket.close(1e3,"IoService.stop()"),this.ioSubject&&this.ioSubject.unsubscribe(),Promise.resolve(this)},e.prototype.restart=function(){var e=this;return this.log.silly("IoService","restart()"),this.stop().then(function(t){return e.start()})},e.prototype.initIoSubject=function(){var e=this;return this.log.verbose("IoService","initIoSubject()"),new Promise(function(t){var i=o.Observable.create(function(o){return e.log.verbose("IoService","initIoSubject() Observable.create()"),e.subscriber=o,t(),e.wsClose.bind(e)}).share(),n={complete:e.wsClose.bind(e),next:e.wsSend.bind(e)};e.ioSubject=o.Subject.create(n,i)})},e.prototype.initWebSocket=function(){this.log.silly("IoService","initWebSocket() with token:[%s]",this.token),this.online()&&this.log.warn("IoService","initWebSocket() there already has a live websocket. will go ahead and overwrite it"),this.websocket=new WebSocket(this.endPoint(),this.PROTOCOL),this.websocket.onerror=r.bind(this),this.websocket.onopen=n.bind(this),this.websocket.onclose=s.bind(this),this.websocket.onmessage=c.bind(this)},e.prototype.online=function(){return!(!this.websocket||this.websocket.readyState!==WebSocket.OPEN)},e.prototype.connecting=function(){return!(!this.websocket||this.websocket.readyState!==WebSocket.CONNECTING)},e.prototype.io=function(){return this.ioSubject},e.prototype.endPoint=function(){var e="wss://api.chatie.io/websocket/token/"+this.token;return this.log.verbose("IoService","endPoint() => %s",e),e},e.prototype.ding=function(e){this.log.verbose("IoService","ding(%s)",e);var t={name:"ding",payload:e};this.io().next(t)},e.prototype.wsClose=function(){this.log.verbose("IoService","wsClose()"),this.websocket&&(this.websocket.close(),this.websocket=null)},e.prototype.wsSend=function(e){this.log.silly("IoService","wsSend(%s)",e.name);var t=JSON.stringify(e);if(this.online()){if(!this.websocket)throw new Error("no websocket");for(;this.sendBuffer.length;){this.log.silly("IoService","wsSend() buffer processing: length: %d",this.sendBuffer.length);var o=this.sendBuffer.shift();this.websocket.send(o)}this.websocket.send(t)}else this.sendBuffer.push(t),this.log.silly("IoService","wsSend() without WebSocket.OPEN, buf len: %d",this.sendBuffer.length)},e}(),h=function(){function e(e,o,i){this.ngZone=e,this.log=o,this.injector=i,this.message=new t.EventEmitter,this.scan=new t.EventEmitter,this.login=new t.EventEmitter,this.logout=new t.EventEmitter,this.error=new t.EventEmitter,this.heartbeat=new t.EventEmitter,this.timerSub=null,this.npmVersion="TODO: support version",this.counter=0,this.timestamp=new Date,this.log.verbose("Wechaty","constructor()"),this.ioService=new a(this.injector)}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token},set:function(e){this.updateToken(e||"")},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.log.verbose("Wechaty","ngOninit() with token: "+this.token),this.ioService.setToken(this.token),this.ioService.start(),this.ioSubscription=this.ioService.io().subscribe(this.onIo.bind(this))},e.prototype.ngOnDestroy=function(){this.log.verbose("Wechaty","ngOnDestroy()"),this.endTimer(),this.ioSubscription&&this.ioSubscription.unsubscribe(),this.ioService&&this.ioService.stop()},e.prototype.onIo=function(e){switch(this.log.silly("Wechaty","onIo#%d(%s)",this.counter++,e.name),this.timestamp=new Date,e.name){case"scan":this.scan.emit(e.payload);break;case"login":this.login.emit(e.payload);break;case"logout":this.logout.emit(e.payload);break;case"message":this.message.emit(e.payload);break;case"error":this.error.emit(e.payload);break;case"ding":case"dong":case"raw":this.heartbeat.emit(e.name+"["+e.payload+"]");break;case"heartbeat":this.heartbeat.emit(e.payload);break;case"sys":this.log.silly("Wechaty","onIo(%s): %s",e.name,e.payload);break;default:this.log.warn("Wechaty","onIo() unknown event name: %s[%s]",e.name,e.payload)}},e.prototype.updateToken=function(e){this.log.silly("WechatyCoreCmp","set token(%s)",e),e&&this._token===e||(this._token=e.trim(),this.ioSubscription&&(this.ioService.setToken(this._token),this.ioService.restart()))},e.prototype.reset=function(e){this.log.verbose("Wechaty","reset(%s)",e);var t={name:"reset",payload:e};if(!this.ioService)throw new Error("no ioService");this.ioService.io().next(t)},e.prototype.shutdown=function(e){this.log.verbose("Wechaty","shutdown(%s)",e);var t={name:"shutdown",payload:e};if(!this.ioService)throw new Error("no ioService");this.ioService.io().next(t)},e.prototype.startTimer=function(){var e=this;this.log.verbose("Wechaty","startTimer()"),this.ender=new o.Subject,this.ngZone.runOutsideAngular(function(){e.timer=o.Observable.interval(3e3).do(function(t){e.log.verbose("do"," %d",t)}).takeUntil(e.ender).share()}),this.timerSub=this.timer.subscribe(function(t){if(e.counter=t,!e.ioService)throw new Error("no ioService");e.ioService.ding(e.counter)})},e.prototype.endTimer=function(){this.log.verbose("Wechaty","endTimer()"),this.timerSub&&(this.timerSub.unsubscribe(),this.timerSub=null),this.ender&&this.ender.next(null)},e.prototype.logoff=function(e){this.log.silly("WechatyCoreCmp","logoff(%s)",e);var t={name:"logout",payload:e};this.ioService.io().next(t)},e.prototype.online=function(){return this.ioService.online()},e.prototype.connecting=function(){return this.ioService.connecting()},e.prototype.offline=function(){return!(this.online()||this.connecting())},e.prototype.version=function(){return this.npmVersion},e}();h.decorators=[{type:t.Component,args:[{selector:"wechaty",template:"<ng-content></ng-content>"}]}],h.ctorParameters=function(){return[{type:t.NgZone},{type:i.Brolog},{type:t.Injector}]},h.propDecorators={message:[{type:t.Output}],scan:[{type:t.Output}],login:[{type:t.Output}],logout:[{type:t.Output}],error:[{type:t.Output}],heartbeat:[{type:t.Output}],token:[{type:t.Input}]};var u=function(){function e(){}return e}();u.decorators=[{type:t.NgModule,args:[{id:"wechaty",declarations:[h],exports:[h]}]}],u.ctorParameters=function(){return[]},e.WechatyModule=u,e.WechatyComponent=h,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs/Rx"),require("brolog")):"function"==typeof define&&define.amd?define(["exports","@angular/core","rxjs/Rx","brolog"],t):t((e.ng=e.ng||{},e.ng.wechaty=e.ng.wechaty||{}),e.ng.core,e.rxjs_Rx,e.brolog)}(this,function(e,t,o,i){"use strict";function n(e){this.log.verbose("IoService","onOpen()"),this.log.verbose("IoService","onOpen() require update from io");var t={name:"update",payload:"onOpen"};this.ioSubject.next(t)}function s(e){var t=this;this.log.verbose("IoService","onClose(%s)",e),this.autoReconnect&&setTimeout(function(e){t.initWebSocket()},1e3),e.wasClean}function r(e){this.log.silly("IoService","onError(%s)",e),this.websocket=null}function c(e){var t=e.data;this.log.verbose("IoService","onMessage(%s)",t);var o={name:"raw",payload:t};try{var i=JSON.parse(t);o.name=i.name,o.payload=i.payload}catch(e){this.log.warn("IoService","onMessage parse message fail.")}this.subscriber.next(o)}var a=function(){function e(e){this.injector=e,this.ENDPOINT="wss://api.wechaty.io/v0/websocket/token/",this.PROTOCOL="web|0.0.1",this.sendBuffer=[],this.log=i.Brolog.instance(),this.autoReconnect=!0,this.log.verbose("IoService","constructor()")}return e.prototype.setToken=function(e){this.log.silly("IoService","setToken(%s)",e),this.token=e},e.prototype.start=function(){var e=this;return this.log.silly("IoService","start() with token:[%s]",this.token),this.token||this.log.warn("IoService","start() without valid token:[%s]",this.token),this.autoReconnect=!0,this.initIoSubject().then(function(t){return e.initWebSocket()}).then(function(t){return e}).catch(function(t){throw e.log.silly("IoService","start() exception: %s",t.message),t})},e.prototype.stop=function(){return this.log.verbose("IoService","stop()"),this.autoReconnect=!1,this.websocket&&this.websocket.close(1e3,"IoService.stop()"),this.ioSubject&&this.ioSubject.unsubscribe(),Promise.resolve(this)},e.prototype.restart=function(){var e=this;return this.log.silly("IoService","restart()"),this.stop().then(function(t){return e.start()})},e.prototype.initIoSubject=function(){var e=this;return this.log.verbose("IoService","initIoSubject()"),new Promise(function(t){var i=o.Observable.create(function(o){return e.log.verbose("IoService","initIoSubject() Observable.create()"),e.subscriber=o,t(),e.wsClose.bind(e)}).share(),n={complete:e.wsClose.bind(e),next:e.wsSend.bind(e)};e.ioSubject=o.Subject.create(n,i)})},e.prototype.initWebSocket=function(){this.log.silly("IoService","initWebSocket() with token:[%s]",this.token),this.online()&&this.log.warn("IoService","initWebSocket() there already has a live websocket. will go ahead and overwrite it"),this.websocket=new WebSocket(this.endPoint(),this.PROTOCOL),this.websocket.onerror=r.bind(this),this.websocket.onopen=n.bind(this),this.websocket.onclose=s.bind(this),this.websocket.onmessage=c.bind(this)},e.prototype.online=function(){return!(!this.websocket||this.websocket.readyState!==WebSocket.OPEN)},e.prototype.connecting=function(){return!(!this.websocket||this.websocket.readyState!==WebSocket.CONNECTING)},e.prototype.io=function(){return this.ioSubject},e.prototype.endPoint=function(){var e="wss://api.chatie.io/websocket/token/"+this.token;return this.log.verbose("IoService","endPoint() => %s",e),e},e.prototype.ding=function(e){this.log.verbose("IoService","ding(%s)",e);var t={name:"ding",payload:e};this.io().next(t)},e.prototype.wsClose=function(){this.log.verbose("IoService","wsClose()"),this.websocket&&(this.websocket.close(),this.websocket=null)},e.prototype.wsSend=function(e){this.log.silly("IoService","wsSend(%s)",e.name);var t=JSON.stringify(e);if(this.online()){if(!this.websocket)throw new Error("no websocket");for(;this.sendBuffer.length;){this.log.silly("IoService","wsSend() buffer processing: length: %d",this.sendBuffer.length);var o=this.sendBuffer.shift();this.websocket.send(o)}this.websocket.send(t)}else this.sendBuffer.push(t),this.log.silly("IoService","wsSend() without WebSocket.OPEN, buf len: %d",this.sendBuffer.length)},e}(),h=function(){function e(e,o,i){this.ngZone=e,this.log=o,this.injector=i,this.message=new t.EventEmitter,this.scan=new t.EventEmitter,this.login=new t.EventEmitter,this.logout=new t.EventEmitter,this.error=new t.EventEmitter,this.heartbeat=new t.EventEmitter,this.timerSub=null,this.npmVersion="TODO: support version",this.counter=0,this.timestamp=new Date,this.log.verbose("Wechaty","constructor()"),this.ioService=new a(this.injector)}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token},set:function(e){this.updateToken(e)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.log.verbose("Wechaty","ngOninit() with token: "+this.token),this.ioService.setToken(this.token),this.ioService.start(),this.ioSubscription=this.ioService.io().subscribe(this.onIo.bind(this))},e.prototype.ngOnDestroy=function(){this.log.verbose("Wechaty","ngOnDestroy()"),this.endTimer(),this.ioSubscription&&this.ioSubscription.unsubscribe(),this.ioService&&this.ioService.stop()},e.prototype.onIo=function(e){switch(this.log.silly("Wechaty","onIo#%d(%s)",this.counter++,e.name),this.timestamp=new Date,e.name){case"scan":this.scan.emit(e.payload);break;case"login":this.login.emit(e.payload);break;case"logout":this.logout.emit(e.payload);break;case"message":this.message.emit(e.payload);break;case"error":this.error.emit(e.payload);break;case"ding":case"dong":case"raw":this.heartbeat.emit(e.name+"["+e.payload+"]");break;case"heartbeat":this.heartbeat.emit(e.payload);break;case"sys":this.log.silly("Wechaty","onIo(%s): %s",e.name,e.payload);break;default:this.log.warn("Wechaty","onIo() unknown event name: %s[%s]",e.name,e.payload)}},e.prototype.updateToken=function(e){this.log.silly("WechatyCoreCmp","set token(%s)",e),e&&this._token!==e&&(this._token=e.trim(),this.ioSubscription&&(this.ioService.setToken(this._token),this.ioService.restart()))},e.prototype.reset=function(e){this.log.verbose("Wechaty","reset(%s)",e);var t={name:"reset",payload:e};if(!this.ioService)throw new Error("no ioService");this.ioService.io().next(t)},e.prototype.shutdown=function(e){this.log.verbose("Wechaty","shutdown(%s)",e);var t={name:"shutdown",payload:e};if(!this.ioService)throw new Error("no ioService");this.ioService.io().next(t)},e.prototype.startTimer=function(){var e=this;this.log.verbose("Wechaty","startTimer()"),this.ender=new o.Subject,this.ngZone.runOutsideAngular(function(){e.timer=o.Observable.interval(3e3).do(function(t){e.log.verbose("do"," %d",t)}).takeUntil(e.ender).share()}),this.timerSub=this.timer.subscribe(function(t){if(e.counter=t,!e.ioService)throw new Error("no ioService");e.ioService.ding(e.counter)})},e.prototype.endTimer=function(){this.log.verbose("Wechaty","endTimer()"),this.timerSub&&(this.timerSub.unsubscribe(),this.timerSub=null),this.ender&&this.ender.next(null)},e.prototype.logoff=function(e){this.log.silly("WechatyCoreCmp","logoff(%s)",e);var t={name:"logout",payload:e};this.ioService.io().next(t)},e.prototype.online=function(){return this.ioService.online()},e.prototype.connecting=function(){return this.ioService.connecting()},e.prototype.offline=function(){return!(this.online()||this.connecting())},e.prototype.version=function(){return this.npmVersion},e}();h.decorators=[{type:t.Component,args:[{selector:"wechaty",template:"<ng-content></ng-content>"}]}],h.ctorParameters=function(){return[{type:t.NgZone},{type:i.Brolog},{type:t.Injector}]},h.propDecorators={message:[{type:t.Output}],scan:[{type:t.Output}],login:[{type:t.Output}],logout:[{type:t.Output}],error:[{type:t.Output}],heartbeat:[{type:t.Output}],token:[{type:t.Input}]};var u=function(){function e(){}return e}();u.decorators=[{type:t.NgModule,args:[{id:"wechaty",declarations:[h],exports:[h]}]}],u.ctorParameters=function(){return[]},e.WechatyModule=u,e.WechatyComponent=h,Object.defineProperty(e,"__esModule",{value:!0})}); |
@@ -23,3 +23,3 @@ import { Component, EventEmitter, Input, Output, NgZone, Injector, } from '@angular/core'; | ||
} | ||
set token(token) { this.updateToken(token || ''); } | ||
set token(token) { this.updateToken(token); } | ||
get token() { return this._token; } | ||
@@ -86,3 +86,3 @@ ngOnInit() { | ||
this.log.silly('WechatyCoreCmp', 'set token(%s)', token); | ||
if (token && this._token === token) { | ||
if (!token || this._token === token) { | ||
return; | ||
@@ -89,0 +89,0 @@ } |
{ | ||
"name": "@chatie/angular", | ||
"version": "0.1.18", | ||
"version": "0.1.19", | ||
"description": "Chatie Web Component NgModule for Angular", | ||
@@ -5,0 +5,0 @@ "license": "Apache-2.0", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
118264