@juzi/wechaty-puppet-service 1.0.11 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.packageJson = void 0;
4
4
  exports.packageJson = {
5
5
  "name": "@juzi/wechaty-puppet-service",
6
- "version": "1.0.11",
6
+ "version": "1.0.12",
7
7
  "description": "Puppet Service for Wechaty",
8
8
  "type": "module",
9
9
  "exports": {
@@ -23,18 +23,20 @@ declare class EventStreamManager {
23
23
  puppet: PUPPET.impls.PuppetInterface;
24
24
  protected eventStream: undefined | grpc.ServerWritableStream<grpcPuppet.EventRequest, grpcPuppet.EventResponse>;
25
25
  private puppetListening;
26
+ private offCallbackList;
26
27
  constructor(puppet: PUPPET.impls.PuppetInterface);
27
28
  busy(): boolean;
28
29
  start(stream: grpc.ServerWritableStream<grpcPuppet.EventRequest, grpcPuppet.EventResponse>): void;
29
30
  stop(): void;
30
31
  grpcEmit(type: grpcPuppet.EventTypeMap[keyof grpcPuppet.EventTypeMap], // https://stackoverflow.com/a/49286056/1123955
31
32
  obj: object): void;
32
- connectPuppetEventToStreamingCall(): () => void;
33
+ connectPuppetEventToStreamingCall(): void;
33
34
  /**
34
35
  * Detect if the streaming call was gone (GRPC disconnects)
35
36
  * https://github.com/grpc/grpc/issues/8117#issuecomment-362198092
36
37
  */
37
38
  private onStreamingCallEnd;
39
+ removePuppetListeners(): void;
38
40
  }
39
41
  export { EventStreamManager };
40
42
  //# sourceMappingURL=event-stream-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-stream-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/event-stream-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,IAAI,EACL,MAAwC,oBAAoB,CAAA;AAE7D,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAO9C,cAAM,kBAAkB;IAOb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;IAL7C,SAAS,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IAE/G,OAAO,CAAC,eAAe,CAAQ;gBAGtB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;IAKtC,IAAI,IAAK,OAAO;IAIhB,KAAK,CACV,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,GACnF,IAAI;IA0DA,IAAI,IAAK,IAAI;IAWb,QAAQ,CACb,IAAI,EAAG,UAAU,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,EAAG,+CAA+C;IAC/G,GAAG,EAAI,MAAM,GACZ,IAAI;IA+BA,iCAAiC,IAAK,MAAM,IAAI;IA6IvD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAuF3B;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"event-stream-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/event-stream-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,IAAI,EACL,MAAwC,oBAAoB,CAAA;AAE7D,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAO9C,cAAM,kBAAkB;IAQb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;IAN7C,SAAS,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IAE/G,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAqB;gBAGnC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;IAKtC,IAAI,IAAK,OAAO;IAIhB,KAAK,CACV,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,GACnF,IAAI;IA8DA,IAAI,IAAK,IAAI;IAYb,QAAQ,CACb,IAAI,EAAG,UAAU,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,EAAG,+CAA+C;IAC/G,GAAG,EAAI,MAAM,GACZ,IAAI;IA+BA,iCAAiC;IAkIxC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAqF1B,qBAAqB;CAOtB;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
@@ -51,6 +51,7 @@ class EventStreamManager {
51
51
  puppet;
52
52
  eventStream;
53
53
  puppetListening = false;
54
+ offCallbackList = [];
54
55
  constructor(puppet) {
55
56
  this.puppet = puppet;
56
57
  config_js_1.log.verbose('EventStreamManager', 'constructor(%s)', puppet);
@@ -63,9 +64,11 @@ class EventStreamManager {
63
64
  if (this.eventStream) {
64
65
  throw new Error('can not set twice');
65
66
  }
67
+ // clear all listeners before load new ones
68
+ this.removePuppetListeners();
66
69
  this.eventStream = stream;
67
- const removeAllListeners = this.connectPuppetEventToStreamingCall();
68
- this.onStreamingCallEnd(removeAllListeners);
70
+ this.connectPuppetEventToStreamingCall();
71
+ this.onStreamingCallEnd();
69
72
  /**
70
73
  * Huan(202108):
71
74
  * We emit a hearbeat at the beginning of the connect
@@ -108,6 +111,7 @@ class EventStreamManager {
108
111
  if (!this.eventStream) {
109
112
  throw new Error('no this.eventStream');
110
113
  }
114
+ this.removePuppetListeners();
111
115
  this.eventStream.end();
112
116
  this.eventStream = undefined;
113
117
  }
@@ -132,12 +136,6 @@ class EventStreamManager {
132
136
  }
133
137
  connectPuppetEventToStreamingCall() {
134
138
  config_js_1.log.verbose('EventStreamManager', 'connectPuppetEventToStreamingCall() for %s', this.puppet);
135
- const offCallbackList = [];
136
- const offAll = () => {
137
- config_js_1.log.verbose('EventStreamManager', 'connectPuppetEventToStreamingCall() offAll() %s callbacks', offCallbackList.length);
138
- offCallbackList.forEach(off => off());
139
- this.puppetListening = false;
140
- };
141
139
  const eventNameList = Object.keys(PUPPET.types.PUPPET_EVENT_DICT);
142
140
  for (const eventName of eventNameList) {
143
141
  config_js_1.log.verbose('EventStreamManager', 'connectPuppetEventToStreamingCall() this.puppet.on(%s) (listenerCount:%s) registering...', eventName, this.puppet.listenerCount(eventName));
@@ -146,105 +144,105 @@ class EventStreamManager {
146
144
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_DONG, payload);
147
145
  this.puppet.on('dong', listener);
148
146
  const off = () => this.puppet.off('dong', listener);
149
- offCallbackList.push(off);
147
+ this.offCallbackList.push(off);
150
148
  break;
151
149
  }
152
150
  case 'dirty': {
153
151
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_DIRTY, payload);
154
152
  this.puppet.on('dirty', listener);
155
153
  const off = () => this.puppet.off('dirty', listener);
156
- offCallbackList.push(off);
154
+ this.offCallbackList.push(off);
157
155
  break;
158
156
  }
159
157
  case 'error': {
160
158
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_ERROR, payload);
161
159
  this.puppet.on('error', listener);
162
160
  const off = () => this.puppet.off('error', listener);
163
- offCallbackList.push(off);
161
+ this.offCallbackList.push(off);
164
162
  break;
165
163
  }
166
164
  case 'heartbeat': {
167
165
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_HEARTBEAT, payload);
168
166
  this.puppet.on('heartbeat', listener);
169
167
  const off = () => this.puppet.off('heartbeat', listener);
170
- offCallbackList.push(off);
168
+ this.offCallbackList.push(off);
171
169
  break;
172
170
  }
173
171
  case 'friendship': {
174
172
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_FRIENDSHIP, payload);
175
173
  this.puppet.on('friendship', listener);
176
174
  const off = () => this.puppet.off('friendship', listener);
177
- offCallbackList.push(off);
175
+ this.offCallbackList.push(off);
178
176
  break;
179
177
  }
180
178
  case 'login': {
181
179
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_LOGIN, payload);
182
180
  this.puppet.on('login', listener);
183
181
  const off = () => this.puppet.off('login', listener);
184
- offCallbackList.push(off);
182
+ this.offCallbackList.push(off);
185
183
  break;
186
184
  }
187
185
  case 'logout': {
188
186
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_LOGOUT, payload);
189
187
  this.puppet.on('logout', listener);
190
188
  const off = () => this.puppet.off('logout', listener);
191
- offCallbackList.push(off);
189
+ this.offCallbackList.push(off);
192
190
  break;
193
191
  }
194
192
  case 'message': {
195
193
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_MESSAGE, payload);
196
194
  this.puppet.on('message', listener);
197
195
  const off = () => this.puppet.off('message', listener);
198
- offCallbackList.push(off);
196
+ this.offCallbackList.push(off);
199
197
  break;
200
198
  }
201
199
  case 'post': {
202
200
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_POST, payload);
203
201
  this.puppet.on('post', listener);
204
202
  const off = () => this.puppet.off('post', listener);
205
- offCallbackList.push(off);
203
+ this.offCallbackList.push(off);
206
204
  break;
207
205
  }
208
206
  case 'ready': {
209
207
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_READY, payload);
210
208
  this.puppet.on('ready', listener);
211
209
  const off = () => this.puppet.off('ready', listener);
212
- offCallbackList.push(off);
210
+ this.offCallbackList.push(off);
213
211
  break;
214
212
  }
215
213
  case 'room-invite': {
216
214
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_ROOM_INVITE, payload);
217
215
  this.puppet.on('room-invite', listener);
218
216
  const off = () => this.puppet.off('room-invite', listener);
219
- offCallbackList.push(off);
217
+ this.offCallbackList.push(off);
220
218
  break;
221
219
  }
222
220
  case 'room-join': {
223
221
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_ROOM_JOIN, payload);
224
222
  this.puppet.on('room-join', listener);
225
223
  const off = () => this.puppet.off('room-join', listener);
226
- offCallbackList.push(off);
224
+ this.offCallbackList.push(off);
227
225
  break;
228
226
  }
229
227
  case 'room-leave': {
230
228
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_ROOM_LEAVE, payload);
231
229
  this.puppet.on('room-leave', listener);
232
230
  const off = () => this.puppet.off('room-leave', listener);
233
- offCallbackList.push(off);
231
+ this.offCallbackList.push(off);
234
232
  break;
235
233
  }
236
234
  case 'room-topic': {
237
235
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_ROOM_TOPIC, payload);
238
236
  this.puppet.on('room-topic', listener);
239
237
  const off = () => this.puppet.off('room-topic', listener);
240
- offCallbackList.push(off);
238
+ this.offCallbackList.push(off);
241
239
  break;
242
240
  }
243
241
  case 'scan': {
244
242
  const listener = (payload) => this.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_SCAN, payload);
245
243
  this.puppet.on('scan', listener);
246
244
  const off = () => this.puppet.off('scan', listener);
247
- offCallbackList.push(off);
245
+ this.offCallbackList.push(off);
248
246
  break;
249
247
  }
250
248
  case 'reset':
@@ -256,14 +254,13 @@ class EventStreamManager {
256
254
  }
257
255
  }
258
256
  this.puppetListening = true;
259
- return offAll;
260
257
  }
261
258
  /**
262
259
  * Detect if the streaming call was gone (GRPC disconnects)
263
260
  * https://github.com/grpc/grpc/issues/8117#issuecomment-362198092
264
261
  */
265
- onStreamingCallEnd(removePuppetListeners) {
266
- config_js_1.log.verbose('EventStreamManager', 'onStreamingCallEnd(callback)');
262
+ onStreamingCallEnd() {
263
+ config_js_1.log.verbose('EventStreamManager', 'onStreamingCallEnd()');
267
264
  if (!this.eventStream) {
268
265
  throw new Error('no this.eventStream found');
269
266
  }
@@ -284,7 +281,7 @@ class EventStreamManager {
284
281
  this.eventStream.on('cancelled', () => {
285
282
  config_js_1.log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(cancelled) fired with arguments: %s', JSON.stringify(arguments));
286
283
  if (this.puppetListening) {
287
- removePuppetListeners();
284
+ this.removePuppetListeners();
288
285
  }
289
286
  if (this.eventStream) {
290
287
  this.eventStream = undefined;
@@ -296,7 +293,7 @@ class EventStreamManager {
296
293
  this.eventStream.on('error', err => {
297
294
  config_js_1.log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(error) fired: %s', err);
298
295
  if (this.puppetListening) {
299
- removePuppetListeners();
296
+ this.removePuppetListeners();
300
297
  }
301
298
  if (this.eventStream) {
302
299
  this.eventStream = undefined;
@@ -308,7 +305,7 @@ class EventStreamManager {
308
305
  this.eventStream.on('finish', () => {
309
306
  config_js_1.log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(finish) fired');
310
307
  if (this.puppetListening) {
311
- removePuppetListeners();
308
+ this.removePuppetListeners();
312
309
  }
313
310
  if (this.eventStream) {
314
311
  this.eventStream = undefined;
@@ -320,7 +317,7 @@ class EventStreamManager {
320
317
  this.eventStream.on('end', () => {
321
318
  config_js_1.log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(end) fired');
322
319
  if (this.puppetListening) {
323
- removePuppetListeners();
320
+ this.removePuppetListeners();
324
321
  }
325
322
  if (this.eventStream) {
326
323
  this.eventStream = undefined;
@@ -332,7 +329,7 @@ class EventStreamManager {
332
329
  this.eventStream.on('close', () => {
333
330
  config_js_1.log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(close) fired');
334
331
  if (this.puppetListening) {
335
- removePuppetListeners();
332
+ this.removePuppetListeners();
336
333
  }
337
334
  if (this.eventStream) {
338
335
  this.eventStream = undefined;
@@ -342,6 +339,12 @@ class EventStreamManager {
342
339
  }
343
340
  });
344
341
  }
342
+ removePuppetListeners() {
343
+ while (this.offCallbackList.length > 0) {
344
+ const func = this.offCallbackList.pop();
345
+ func && func();
346
+ }
347
+ }
345
348
  }
346
349
  exports.EventStreamManager = EventStreamManager;
347
350
  //# sourceMappingURL=event-stream-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-stream-manager.js","sourceRoot":"","sources":["../../../../src/server/event-stream-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-stream-manager.js","sourceRoot":"","sources":["../../../../src/server/event-stream-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qDAG6D;AAE7D,6DAA8C;AAE9C,4CAAiD;AACjD,4DAEiD;AAEjD,MAAM,kBAAkB;IAQb;IANC,WAAW,CAA0F;IAEvG,eAAe,GAAG,KAAK,CAAA;IACvB,eAAe,GAAmB,EAAE,CAAA;IAE5C,YACS,MAAoC;QAApC,WAAM,GAAN,MAAM,CAA8B;QAE3C,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;IAEM,IAAI;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAEM,KAAK,CACV,MAAoF;QAEpF,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAA;QAElD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;SACrC;QAED,2CAA2C;QAC3C,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAE5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;QAEzB,IAAI,CAAC,iCAAiC,EAAE,CAAA;QACxC,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzB;;;;;;;;;;;WAWG;QACH,MAAM,8BAA8B,GAAG;YACrC,IAAI,EAAE,iDAAiD;SACtB,CAAA;QACnC,IAAI,CAAC,QAAQ,CACX,qBAAU,CAAC,SAAS,CAAC,oBAAoB,EACzC,8BAA8B,CAC/B,CAAA;QAED;;YAEI;QACJ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC1B,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,gEAAgE,CAAC,CAAA;YAEnG,MAAM,OAAO,GAAG;gBACd,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;aACP,CAAA;YAE/B,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;SAC9D;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE;YACtC,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,4EAA4E,CAAC,CAAA;YAE/G,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,OAAO;aACgB,CAAA;YAE/B,oGAAoG;YACpG,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;YAC/D,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;SACd;IACH,CAAC;IAEM,IAAI;QACT,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAA;QAE3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACvC;QAED,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,QAAQ,CACb,IAA6D,EAAG,+CAA+C;IAC/G,GAAa;QAEb,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,sBAAsB,EACtD,gCAAY,CAAC,IAAI,CAAC,EAClB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CACpB,CAAA;QAED,IAAI,CAAC,yBAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACjC,eAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,gCAAY,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,cAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SACxI;QAED,MAAM,QAAQ,GAAG,IAAI,qBAAU,CAAC,aAAa,EAAE,CAAA;QAE/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACtB,QAAQ,CAAC,UAAU,CACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CACpB,CAAA;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;SACjC;aAAM;YACL;;gBAEI;YACJ,eAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,iDAAiD,EAC9E,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CACpB,CAAA;SACF;IACH,CAAC;IAEM,iCAAiC;QACtC,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,4CAA4C,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE5F,MAAM,aAAa,GAAmC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAmC,CAAA;QACnI,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE;YACrC,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAC9B,0FAA0F,EAC1F,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CACrC,CAAA;YAED,QAAQ,SAAS,EAAE;gBACjB,KAAK,MAAM,CAAC,CAAC;oBACX,MAAM,QAAQ,GAAG,CAAC,OAAkC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;oBACrH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBAChC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,OAAO,CAAC,CAAC;oBACZ,MAAM,QAAQ,GAAG,CAAC,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;oBACvH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACjC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,OAAO,CAAC,CAAC;oBACZ,MAAM,QAAQ,GAAG,CAAC,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;oBACvH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACjC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,WAAW,CAAC,CAAC;oBAChB,MAAM,QAAQ,GAAG,CAAC,OAAuC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;oBAC/H,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;oBACrC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;oBACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,YAAY,CAAC,CAAC;oBACjB,MAAM,QAAQ,GAAG,CAAC,OAAwC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;oBACjI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;oBACtC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;oBACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,OAAO,CAAC,CAAC;oBACZ,MAAM,QAAQ,GAAG,CAAC,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;oBACvH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACjC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,QAAQ,CAAC,CAAC;oBACb,MAAM,QAAQ,GAAG,CAAC,OAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;oBACzH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;oBAClC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;oBACrD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,SAAS,CAAC,CAAC;oBACd,MAAM,QAAQ,GAAG,CAAC,OAAqC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;oBAC3H,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;oBACnC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;oBACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,MAAM,CAAC,CAAC;oBACX,MAAM,QAAQ,GAAG,CAAC,OAAkC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;oBACrH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBAChC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,OAAO,CAAC,CAAC;oBACZ,MAAM,QAAQ,GAAG,CAAC,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;oBACvH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACjC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,aAAa,CAAC,CAAC;oBAClB,MAAM,QAAQ,GAAG,CAAC,OAAwC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAA;oBAClI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;oBACvC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;oBAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,WAAW,CAAC,CAAC;oBAChB,MAAM,QAAQ,GAAG,CAAC,OAAsC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;oBAC9H,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;oBACrC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;oBACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,YAAY,CAAC,CAAC;oBACjB,MAAM,QAAQ,GAAG,CAAC,OAAuC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;oBAChI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;oBACtC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;oBACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,YAAY,CAAC,CAAC;oBACjB,MAAM,QAAQ,GAAG,CAAC,OAAuC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;oBAChI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;oBACtC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;oBACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,MAAM,CAAC,CAAC;oBACX,MAAM,QAAQ,GAAG,CAAC,OAAkC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;oBACrH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBAChC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC9B,MAAK;iBACN;gBACD,KAAK,OAAO;oBACV,qEAAqE;oBACrE,MAAK;gBAEP;oBACE,kFAAkF;oBAClF,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,SAAS,GAAG,eAAe,CAAC,CAAA;aAC9D;SACF;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;IAC7B,CAAC;IAED;;;OAGG;IACK,kBAAkB;QACxB,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAA;QAEzD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;SAC7C;QAED;;;;;;;;;;;;;WAaG;QACH,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACpC,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,mFAAmF,EACnH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAC1B,CAAA;YAED,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;aAC7B;iBAAM;gBACL,eAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,mFAAmF,CAAC,CAAA;aACpH;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACjC,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,gEAAgE,EAAE,GAAG,CAAC,CAAA;YACxG,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;aAC7B;iBAAM;gBACL,eAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,+EAA+E,CAAC,CAAA;aAChH;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACjC,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,6DAA6D,CAAC,CAAA;YAChG,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;aAC7B;iBAAM;gBACL,eAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,gFAAgF,CAAC,CAAA;aACjH;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC9B,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,0DAA0D,CAAC,CAAA;YAC7F,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;aAC7B;iBAAM;gBACL,eAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,6EAA6E,CAAC,CAAA;aAC9G;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,eAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,4DAA4D,CAAC,CAAA;YAC/F,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;aAC7B;iBAAM;gBACL,eAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,+EAA+E,CAAC,CAAA;aAChH;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAA;YACvC,IAAI,IAAI,IAAI,EAAE,CAAA;SACf;IACH,CAAC;CAEF;AAEQ,gDAAkB"}
@@ -1,6 +1,6 @@
1
1
  export const packageJson = {
2
2
  "name": "@juzi/wechaty-puppet-service",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "Puppet Service for Wechaty",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,18 +23,20 @@ declare class EventStreamManager {
23
23
  puppet: PUPPET.impls.PuppetInterface;
24
24
  protected eventStream: undefined | grpc.ServerWritableStream<grpcPuppet.EventRequest, grpcPuppet.EventResponse>;
25
25
  private puppetListening;
26
+ private offCallbackList;
26
27
  constructor(puppet: PUPPET.impls.PuppetInterface);
27
28
  busy(): boolean;
28
29
  start(stream: grpc.ServerWritableStream<grpcPuppet.EventRequest, grpcPuppet.EventResponse>): void;
29
30
  stop(): void;
30
31
  grpcEmit(type: grpcPuppet.EventTypeMap[keyof grpcPuppet.EventTypeMap], // https://stackoverflow.com/a/49286056/1123955
31
32
  obj: object): void;
32
- connectPuppetEventToStreamingCall(): () => void;
33
+ connectPuppetEventToStreamingCall(): void;
33
34
  /**
34
35
  * Detect if the streaming call was gone (GRPC disconnects)
35
36
  * https://github.com/grpc/grpc/issues/8117#issuecomment-362198092
36
37
  */
37
38
  private onStreamingCallEnd;
39
+ removePuppetListeners(): void;
38
40
  }
39
41
  export { EventStreamManager };
40
42
  //# sourceMappingURL=event-stream-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-stream-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/event-stream-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,IAAI,EACL,MAAwC,oBAAoB,CAAA;AAE7D,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAO9C,cAAM,kBAAkB;IAOb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;IAL7C,SAAS,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IAE/G,OAAO,CAAC,eAAe,CAAQ;gBAGtB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;IAKtC,IAAI,IAAK,OAAO;IAIhB,KAAK,CACV,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,GACnF,IAAI;IA0DA,IAAI,IAAK,IAAI;IAWb,QAAQ,CACb,IAAI,EAAG,UAAU,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,EAAG,+CAA+C;IAC/G,GAAG,EAAI,MAAM,GACZ,IAAI;IA+BA,iCAAiC,IAAK,MAAM,IAAI;IA6IvD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAuF3B;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"event-stream-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/event-stream-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,IAAI,EACL,MAAwC,oBAAoB,CAAA;AAE7D,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAO9C,cAAM,kBAAkB;IAQb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;IAN7C,SAAS,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IAE/G,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAqB;gBAGnC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;IAKtC,IAAI,IAAK,OAAO;IAIhB,KAAK,CACV,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,GACnF,IAAI;IA8DA,IAAI,IAAK,IAAI;IAYb,QAAQ,CACb,IAAI,EAAG,UAAU,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,EAAG,+CAA+C;IAC/G,GAAG,EAAI,MAAM,GACZ,IAAI;IA+BA,iCAAiC;IAkIxC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAqF1B,qBAAqB;CAOtB;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
@@ -25,6 +25,7 @@ class EventStreamManager {
25
25
  puppet;
26
26
  eventStream;
27
27
  puppetListening = false;
28
+ offCallbackList = [];
28
29
  constructor(puppet) {
29
30
  this.puppet = puppet;
30
31
  log.verbose('EventStreamManager', 'constructor(%s)', puppet);
@@ -37,9 +38,11 @@ class EventStreamManager {
37
38
  if (this.eventStream) {
38
39
  throw new Error('can not set twice');
39
40
  }
41
+ // clear all listeners before load new ones
42
+ this.removePuppetListeners();
40
43
  this.eventStream = stream;
41
- const removeAllListeners = this.connectPuppetEventToStreamingCall();
42
- this.onStreamingCallEnd(removeAllListeners);
44
+ this.connectPuppetEventToStreamingCall();
45
+ this.onStreamingCallEnd();
43
46
  /**
44
47
  * Huan(202108):
45
48
  * We emit a hearbeat at the beginning of the connect
@@ -82,6 +85,7 @@ class EventStreamManager {
82
85
  if (!this.eventStream) {
83
86
  throw new Error('no this.eventStream');
84
87
  }
88
+ this.removePuppetListeners();
85
89
  this.eventStream.end();
86
90
  this.eventStream = undefined;
87
91
  }
@@ -106,12 +110,6 @@ class EventStreamManager {
106
110
  }
107
111
  connectPuppetEventToStreamingCall() {
108
112
  log.verbose('EventStreamManager', 'connectPuppetEventToStreamingCall() for %s', this.puppet);
109
- const offCallbackList = [];
110
- const offAll = () => {
111
- log.verbose('EventStreamManager', 'connectPuppetEventToStreamingCall() offAll() %s callbacks', offCallbackList.length);
112
- offCallbackList.forEach(off => off());
113
- this.puppetListening = false;
114
- };
115
113
  const eventNameList = Object.keys(PUPPET.types.PUPPET_EVENT_DICT);
116
114
  for (const eventName of eventNameList) {
117
115
  log.verbose('EventStreamManager', 'connectPuppetEventToStreamingCall() this.puppet.on(%s) (listenerCount:%s) registering...', eventName, this.puppet.listenerCount(eventName));
@@ -120,105 +118,105 @@ class EventStreamManager {
120
118
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_DONG, payload);
121
119
  this.puppet.on('dong', listener);
122
120
  const off = () => this.puppet.off('dong', listener);
123
- offCallbackList.push(off);
121
+ this.offCallbackList.push(off);
124
122
  break;
125
123
  }
126
124
  case 'dirty': {
127
125
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_DIRTY, payload);
128
126
  this.puppet.on('dirty', listener);
129
127
  const off = () => this.puppet.off('dirty', listener);
130
- offCallbackList.push(off);
128
+ this.offCallbackList.push(off);
131
129
  break;
132
130
  }
133
131
  case 'error': {
134
132
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ERROR, payload);
135
133
  this.puppet.on('error', listener);
136
134
  const off = () => this.puppet.off('error', listener);
137
- offCallbackList.push(off);
135
+ this.offCallbackList.push(off);
138
136
  break;
139
137
  }
140
138
  case 'heartbeat': {
141
139
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_HEARTBEAT, payload);
142
140
  this.puppet.on('heartbeat', listener);
143
141
  const off = () => this.puppet.off('heartbeat', listener);
144
- offCallbackList.push(off);
142
+ this.offCallbackList.push(off);
145
143
  break;
146
144
  }
147
145
  case 'friendship': {
148
146
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_FRIENDSHIP, payload);
149
147
  this.puppet.on('friendship', listener);
150
148
  const off = () => this.puppet.off('friendship', listener);
151
- offCallbackList.push(off);
149
+ this.offCallbackList.push(off);
152
150
  break;
153
151
  }
154
152
  case 'login': {
155
153
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_LOGIN, payload);
156
154
  this.puppet.on('login', listener);
157
155
  const off = () => this.puppet.off('login', listener);
158
- offCallbackList.push(off);
156
+ this.offCallbackList.push(off);
159
157
  break;
160
158
  }
161
159
  case 'logout': {
162
160
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_LOGOUT, payload);
163
161
  this.puppet.on('logout', listener);
164
162
  const off = () => this.puppet.off('logout', listener);
165
- offCallbackList.push(off);
163
+ this.offCallbackList.push(off);
166
164
  break;
167
165
  }
168
166
  case 'message': {
169
167
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_MESSAGE, payload);
170
168
  this.puppet.on('message', listener);
171
169
  const off = () => this.puppet.off('message', listener);
172
- offCallbackList.push(off);
170
+ this.offCallbackList.push(off);
173
171
  break;
174
172
  }
175
173
  case 'post': {
176
174
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_POST, payload);
177
175
  this.puppet.on('post', listener);
178
176
  const off = () => this.puppet.off('post', listener);
179
- offCallbackList.push(off);
177
+ this.offCallbackList.push(off);
180
178
  break;
181
179
  }
182
180
  case 'ready': {
183
181
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_READY, payload);
184
182
  this.puppet.on('ready', listener);
185
183
  const off = () => this.puppet.off('ready', listener);
186
- offCallbackList.push(off);
184
+ this.offCallbackList.push(off);
187
185
  break;
188
186
  }
189
187
  case 'room-invite': {
190
188
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ROOM_INVITE, payload);
191
189
  this.puppet.on('room-invite', listener);
192
190
  const off = () => this.puppet.off('room-invite', listener);
193
- offCallbackList.push(off);
191
+ this.offCallbackList.push(off);
194
192
  break;
195
193
  }
196
194
  case 'room-join': {
197
195
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ROOM_JOIN, payload);
198
196
  this.puppet.on('room-join', listener);
199
197
  const off = () => this.puppet.off('room-join', listener);
200
- offCallbackList.push(off);
198
+ this.offCallbackList.push(off);
201
199
  break;
202
200
  }
203
201
  case 'room-leave': {
204
202
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ROOM_LEAVE, payload);
205
203
  this.puppet.on('room-leave', listener);
206
204
  const off = () => this.puppet.off('room-leave', listener);
207
- offCallbackList.push(off);
205
+ this.offCallbackList.push(off);
208
206
  break;
209
207
  }
210
208
  case 'room-topic': {
211
209
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ROOM_TOPIC, payload);
212
210
  this.puppet.on('room-topic', listener);
213
211
  const off = () => this.puppet.off('room-topic', listener);
214
- offCallbackList.push(off);
212
+ this.offCallbackList.push(off);
215
213
  break;
216
214
  }
217
215
  case 'scan': {
218
216
  const listener = (payload) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_SCAN, payload);
219
217
  this.puppet.on('scan', listener);
220
218
  const off = () => this.puppet.off('scan', listener);
221
- offCallbackList.push(off);
219
+ this.offCallbackList.push(off);
222
220
  break;
223
221
  }
224
222
  case 'reset':
@@ -230,14 +228,13 @@ class EventStreamManager {
230
228
  }
231
229
  }
232
230
  this.puppetListening = true;
233
- return offAll;
234
231
  }
235
232
  /**
236
233
  * Detect if the streaming call was gone (GRPC disconnects)
237
234
  * https://github.com/grpc/grpc/issues/8117#issuecomment-362198092
238
235
  */
239
- onStreamingCallEnd(removePuppetListeners) {
240
- log.verbose('EventStreamManager', 'onStreamingCallEnd(callback)');
236
+ onStreamingCallEnd() {
237
+ log.verbose('EventStreamManager', 'onStreamingCallEnd()');
241
238
  if (!this.eventStream) {
242
239
  throw new Error('no this.eventStream found');
243
240
  }
@@ -258,7 +255,7 @@ class EventStreamManager {
258
255
  this.eventStream.on('cancelled', () => {
259
256
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(cancelled) fired with arguments: %s', JSON.stringify(arguments));
260
257
  if (this.puppetListening) {
261
- removePuppetListeners();
258
+ this.removePuppetListeners();
262
259
  }
263
260
  if (this.eventStream) {
264
261
  this.eventStream = undefined;
@@ -270,7 +267,7 @@ class EventStreamManager {
270
267
  this.eventStream.on('error', err => {
271
268
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(error) fired: %s', err);
272
269
  if (this.puppetListening) {
273
- removePuppetListeners();
270
+ this.removePuppetListeners();
274
271
  }
275
272
  if (this.eventStream) {
276
273
  this.eventStream = undefined;
@@ -282,7 +279,7 @@ class EventStreamManager {
282
279
  this.eventStream.on('finish', () => {
283
280
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(finish) fired');
284
281
  if (this.puppetListening) {
285
- removePuppetListeners();
282
+ this.removePuppetListeners();
286
283
  }
287
284
  if (this.eventStream) {
288
285
  this.eventStream = undefined;
@@ -294,7 +291,7 @@ class EventStreamManager {
294
291
  this.eventStream.on('end', () => {
295
292
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(end) fired');
296
293
  if (this.puppetListening) {
297
- removePuppetListeners();
294
+ this.removePuppetListeners();
298
295
  }
299
296
  if (this.eventStream) {
300
297
  this.eventStream = undefined;
@@ -306,7 +303,7 @@ class EventStreamManager {
306
303
  this.eventStream.on('close', () => {
307
304
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(close) fired');
308
305
  if (this.puppetListening) {
309
- removePuppetListeners();
306
+ this.removePuppetListeners();
310
307
  }
311
308
  if (this.eventStream) {
312
309
  this.eventStream = undefined;
@@ -316,6 +313,12 @@ class EventStreamManager {
316
313
  }
317
314
  });
318
315
  }
316
+ removePuppetListeners() {
317
+ while (this.offCallbackList.length > 0) {
318
+ const func = this.offCallbackList.pop();
319
+ func && func();
320
+ }
321
+ }
319
322
  }
320
323
  export { EventStreamManager };
321
324
  //# sourceMappingURL=event-stream-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-stream-manager.js","sourceRoot":"","sources":["../../../../src/server/event-stream-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-stream-manager.js","sourceRoot":"","sources":["../../../../src/server/event-stream-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juzi/wechaty-puppet-service",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "Puppet Service for Wechaty",
5
5
  "type": "module",
6
6
  "exports": {
@@ -4,7 +4,7 @@
4
4
  import type { PackageJson } from 'type-fest'
5
5
  export const packageJson: PackageJson = {
6
6
  "name": "@juzi/wechaty-puppet-service",
7
- "version": "1.0.11",
7
+ "version": "1.0.12",
8
8
  "description": "Puppet Service for Wechaty",
9
9
  "type": "module",
10
10
  "exports": {
@@ -34,6 +34,7 @@ class EventStreamManager {
34
34
  protected eventStream: undefined | grpc.ServerWritableStream<grpcPuppet.EventRequest, grpcPuppet.EventResponse>
35
35
 
36
36
  private puppetListening = false
37
+ private offCallbackList: (() => void)[] = []
37
38
 
38
39
  constructor (
39
40
  public puppet: PUPPET.impls.PuppetInterface,
@@ -53,10 +54,14 @@ class EventStreamManager {
53
54
  if (this.eventStream) {
54
55
  throw new Error('can not set twice')
55
56
  }
57
+
58
+ // clear all listeners before load new ones
59
+ this.removePuppetListeners()
60
+
56
61
  this.eventStream = stream
57
62
 
58
- const removeAllListeners = this.connectPuppetEventToStreamingCall()
59
- this.onStreamingCallEnd(removeAllListeners)
63
+ this.connectPuppetEventToStreamingCall()
64
+ this.onStreamingCallEnd()
60
65
 
61
66
  /**
62
67
  * Huan(202108):
@@ -112,6 +117,7 @@ class EventStreamManager {
112
117
  throw new Error('no this.eventStream')
113
118
  }
114
119
 
120
+ this.removePuppetListeners()
115
121
  this.eventStream.end()
116
122
  this.eventStream = undefined
117
123
  }
@@ -150,19 +156,9 @@ class EventStreamManager {
150
156
  }
151
157
  }
152
158
 
153
- public connectPuppetEventToStreamingCall (): () => void {
159
+ public connectPuppetEventToStreamingCall () {
154
160
  log.verbose('EventStreamManager', 'connectPuppetEventToStreamingCall() for %s', this.puppet)
155
161
 
156
- const offCallbackList = [] as (() => void)[]
157
- const offAll = () => {
158
- log.verbose('EventStreamManager',
159
- 'connectPuppetEventToStreamingCall() offAll() %s callbacks',
160
- offCallbackList.length,
161
- )
162
- offCallbackList.forEach(off => off())
163
- this.puppetListening = false
164
- }
165
-
166
162
  const eventNameList: PUPPET.types.PuppetEventName[] = Object.keys(PUPPET.types.PUPPET_EVENT_DICT) as PUPPET.types.PuppetEventName[]
167
163
  for (const eventName of eventNameList) {
168
164
  log.verbose('EventStreamManager',
@@ -176,105 +172,105 @@ class EventStreamManager {
176
172
  const listener = (payload: PUPPET.payloads.EventDong) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_DONG, payload)
177
173
  this.puppet.on('dong', listener)
178
174
  const off = () => this.puppet.off('dong', listener)
179
- offCallbackList.push(off)
175
+ this.offCallbackList.push(off)
180
176
  break
181
177
  }
182
178
  case 'dirty': {
183
179
  const listener = (payload: PUPPET.payloads.EventDirty) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_DIRTY, payload)
184
180
  this.puppet.on('dirty', listener)
185
181
  const off = () => this.puppet.off('dirty', listener)
186
- offCallbackList.push(off)
182
+ this.offCallbackList.push(off)
187
183
  break
188
184
  }
189
185
  case 'error': {
190
186
  const listener = (payload: PUPPET.payloads.EventError) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ERROR, payload)
191
187
  this.puppet.on('error', listener)
192
188
  const off = () => this.puppet.off('error', listener)
193
- offCallbackList.push(off)
189
+ this.offCallbackList.push(off)
194
190
  break
195
191
  }
196
192
  case 'heartbeat': {
197
193
  const listener = (payload: PUPPET.payloads.EventHeartbeat) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_HEARTBEAT, payload)
198
194
  this.puppet.on('heartbeat', listener)
199
195
  const off = () => this.puppet.off('heartbeat', listener)
200
- offCallbackList.push(off)
196
+ this.offCallbackList.push(off)
201
197
  break
202
198
  }
203
199
  case 'friendship': {
204
200
  const listener = (payload: PUPPET.payloads.EventFriendship) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_FRIENDSHIP, payload)
205
201
  this.puppet.on('friendship', listener)
206
202
  const off = () => this.puppet.off('friendship', listener)
207
- offCallbackList.push(off)
203
+ this.offCallbackList.push(off)
208
204
  break
209
205
  }
210
206
  case 'login': {
211
207
  const listener = (payload: PUPPET.payloads.EventLogin) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_LOGIN, payload)
212
208
  this.puppet.on('login', listener)
213
209
  const off = () => this.puppet.off('login', listener)
214
- offCallbackList.push(off)
210
+ this.offCallbackList.push(off)
215
211
  break
216
212
  }
217
213
  case 'logout': {
218
214
  const listener = (payload: PUPPET.payloads.EventLogout) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_LOGOUT, payload)
219
215
  this.puppet.on('logout', listener)
220
216
  const off = () => this.puppet.off('logout', listener)
221
- offCallbackList.push(off)
217
+ this.offCallbackList.push(off)
222
218
  break
223
219
  }
224
220
  case 'message': {
225
221
  const listener = (payload: PUPPET.payloads.EventMessage) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_MESSAGE, payload)
226
222
  this.puppet.on('message', listener)
227
223
  const off = () => this.puppet.off('message', listener)
228
- offCallbackList.push(off)
224
+ this.offCallbackList.push(off)
229
225
  break
230
226
  }
231
227
  case 'post': {
232
228
  const listener = (payload: PUPPET.payloads.EventPost) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_POST, payload)
233
229
  this.puppet.on('post', listener)
234
230
  const off = () => this.puppet.off('post', listener)
235
- offCallbackList.push(off)
231
+ this.offCallbackList.push(off)
236
232
  break
237
233
  }
238
234
  case 'ready': {
239
235
  const listener = (payload: PUPPET.payloads.EventReady) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_READY, payload)
240
236
  this.puppet.on('ready', listener)
241
237
  const off = () => this.puppet.off('ready', listener)
242
- offCallbackList.push(off)
238
+ this.offCallbackList.push(off)
243
239
  break
244
240
  }
245
241
  case 'room-invite': {
246
242
  const listener = (payload: PUPPET.payloads.EventRoomInvite) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ROOM_INVITE, payload)
247
243
  this.puppet.on('room-invite', listener)
248
244
  const off = () => this.puppet.off('room-invite', listener)
249
- offCallbackList.push(off)
245
+ this.offCallbackList.push(off)
250
246
  break
251
247
  }
252
248
  case 'room-join': {
253
249
  const listener = (payload: PUPPET.payloads.EventRoomJoin) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ROOM_JOIN, payload)
254
250
  this.puppet.on('room-join', listener)
255
251
  const off = () => this.puppet.off('room-join', listener)
256
- offCallbackList.push(off)
252
+ this.offCallbackList.push(off)
257
253
  break
258
254
  }
259
255
  case 'room-leave': {
260
256
  const listener = (payload: PUPPET.payloads.EventRoomLeave) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ROOM_LEAVE, payload)
261
257
  this.puppet.on('room-leave', listener)
262
258
  const off = () => this.puppet.off('room-leave', listener)
263
- offCallbackList.push(off)
259
+ this.offCallbackList.push(off)
264
260
  break
265
261
  }
266
262
  case 'room-topic': {
267
263
  const listener = (payload: PUPPET.payloads.EventRoomTopic) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_ROOM_TOPIC, payload)
268
264
  this.puppet.on('room-topic', listener)
269
265
  const off = () => this.puppet.off('room-topic', listener)
270
- offCallbackList.push(off)
266
+ this.offCallbackList.push(off)
271
267
  break
272
268
  }
273
269
  case 'scan': {
274
270
  const listener = (payload: PUPPET.payloads.EventScan) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_SCAN, payload)
275
271
  this.puppet.on('scan', listener)
276
272
  const off = () => this.puppet.off('scan', listener)
277
- offCallbackList.push(off)
273
+ this.offCallbackList.push(off)
278
274
  break
279
275
  }
280
276
  case 'reset':
@@ -288,17 +284,14 @@ class EventStreamManager {
288
284
  }
289
285
 
290
286
  this.puppetListening = true
291
- return offAll
292
287
  }
293
288
 
294
289
  /**
295
290
  * Detect if the streaming call was gone (GRPC disconnects)
296
291
  * https://github.com/grpc/grpc/issues/8117#issuecomment-362198092
297
292
  */
298
- private onStreamingCallEnd (
299
- removePuppetListeners: () => void,
300
- ): void {
301
- log.verbose('EventStreamManager', 'onStreamingCallEnd(callback)')
293
+ private onStreamingCallEnd () {
294
+ log.verbose('EventStreamManager', 'onStreamingCallEnd()')
302
295
 
303
296
  if (!this.eventStream) {
304
297
  throw new Error('no this.eventStream found')
@@ -324,7 +317,7 @@ class EventStreamManager {
324
317
  )
325
318
 
326
319
  if (this.puppetListening) {
327
- removePuppetListeners()
320
+ this.removePuppetListeners()
328
321
  }
329
322
  if (this.eventStream) {
330
323
  this.eventStream = undefined
@@ -336,7 +329,7 @@ class EventStreamManager {
336
329
  this.eventStream.on('error', err => {
337
330
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(error) fired: %s', err)
338
331
  if (this.puppetListening) {
339
- removePuppetListeners()
332
+ this.removePuppetListeners()
340
333
  }
341
334
  if (this.eventStream) {
342
335
  this.eventStream = undefined
@@ -348,7 +341,7 @@ class EventStreamManager {
348
341
  this.eventStream.on('finish', () => {
349
342
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(finish) fired')
350
343
  if (this.puppetListening) {
351
- removePuppetListeners()
344
+ this.removePuppetListeners()
352
345
  }
353
346
  if (this.eventStream) {
354
347
  this.eventStream = undefined
@@ -360,7 +353,7 @@ class EventStreamManager {
360
353
  this.eventStream.on('end', () => {
361
354
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(end) fired')
362
355
  if (this.puppetListening) {
363
- removePuppetListeners()
356
+ this.removePuppetListeners()
364
357
  }
365
358
  if (this.eventStream) {
366
359
  this.eventStream = undefined
@@ -372,7 +365,7 @@ class EventStreamManager {
372
365
  this.eventStream.on('close', () => {
373
366
  log.verbose('EventStreamManager', 'this.onStreamingCallEnd() this.eventStream.on(close) fired')
374
367
  if (this.puppetListening) {
375
- removePuppetListeners()
368
+ this.removePuppetListeners()
376
369
  }
377
370
  if (this.eventStream) {
378
371
  this.eventStream = undefined
@@ -382,6 +375,13 @@ class EventStreamManager {
382
375
  })
383
376
  }
384
377
 
378
+ removePuppetListeners () {
379
+ while (this.offCallbackList.length > 0) {
380
+ const func = this.offCallbackList.pop()
381
+ func && func()
382
+ }
383
+ }
384
+
385
385
  }
386
386
 
387
387
  export { EventStreamManager }