@juzi/wechaty 1.0.155 → 1.0.157
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.
- package/dist/cjs/src/package-json.js +4 -4
- package/dist/cjs/src/user-modules/call.spec.js +5 -1
- package/dist/cjs/src/user-modules/call.spec.js.map +1 -1
- package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
- package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
- package/dist/cjs/src/user-modules/contact-alias-polling.spec.js +58 -0
- package/dist/cjs/src/user-modules/contact-alias-polling.spec.js.map +1 -0
- package/dist/cjs/src/user-modules/contact.d.ts +24 -0
- package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact.js +69 -5
- package/dist/cjs/src/user-modules/contact.js.map +1 -1
- package/dist/cjs/src/user-modules/contact.spec.js +156 -0
- package/dist/cjs/src/user-modules/contact.spec.js.map +1 -1
- package/dist/cjs/src/user-modules/room.d.ts +23 -0
- package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/room.js +52 -0
- package/dist/cjs/src/user-modules/room.js.map +1 -1
- package/dist/cjs/src/user-modules/room.spec.js +156 -0
- package/dist/cjs/src/user-modules/room.spec.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +68 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +14 -9
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/esm/src/package-json.js +4 -4
- package/dist/esm/src/user-modules/call.spec.js +5 -1
- package/dist/esm/src/user-modules/call.spec.js.map +1 -1
- package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
- package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
- package/dist/esm/src/user-modules/contact-alias-polling.spec.js +56 -0
- package/dist/esm/src/user-modules/contact-alias-polling.spec.js.map +1 -0
- package/dist/esm/src/user-modules/contact.d.ts +24 -0
- package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact.js +69 -5
- package/dist/esm/src/user-modules/contact.js.map +1 -1
- package/dist/esm/src/user-modules/contact.spec.js +157 -1
- package/dist/esm/src/user-modules/contact.spec.js.map +1 -1
- package/dist/esm/src/user-modules/room.d.ts +23 -0
- package/dist/esm/src/user-modules/room.d.ts.map +1 -1
- package/dist/esm/src/user-modules/room.js +52 -0
- package/dist/esm/src/user-modules/room.js.map +1 -1
- package/dist/esm/src/user-modules/room.spec.js +156 -0
- package/dist/esm/src/user-modules/room.spec.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +43 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js +14 -9
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/package.json +3 -3
- package/src/package-json.ts +4 -4
- package/src/user-modules/call.spec.ts +5 -1
- package/src/user-modules/contact-alias-polling.spec.ts +70 -0
- package/src/user-modules/contact.spec.ts +212 -0
- package/src/user-modules/contact.ts +81 -5
- package/src/user-modules/room.spec.ts +210 -0
- package/src/user-modules/room.ts +63 -0
- package/src/wechaty-mixins/puppet-mixin-dirty-call.spec.ts +55 -0
- package/src/wechaty-mixins/puppet-mixin.ts +14 -9
|
@@ -90,6 +90,30 @@ declare class ContactMixin extends MixinBase implements SayableSayer {
|
|
|
90
90
|
* const contactList = await bot.Contact.findAll({ alias: 'lijiarui' }) // find all of the contacts whose alias is 'lijiarui'
|
|
91
91
|
*/
|
|
92
92
|
static findAll(query?: string | PUPPET.filters.Contact): Promise<ContactInterface[]>;
|
|
93
|
+
/**
|
|
94
|
+
* Async iterator variant of {@link findAll} that yields contacts in batches.
|
|
95
|
+
*
|
|
96
|
+
* Each batch is materialised with a single `puppet.batchContactPayload` RPC,
|
|
97
|
+
* so iterating N contacts costs roughly `ceil(N / batch)` round trips instead
|
|
98
|
+
* of N. Uses `puppet.batchContactPayload` directly (required on the puppet
|
|
99
|
+
* abstract), without holding the whole list in memory or blocking the caller
|
|
100
|
+
* until every contact has been hydrated. Callers may `break` between batches
|
|
101
|
+
* to short-circuit.
|
|
102
|
+
*
|
|
103
|
+
* @static
|
|
104
|
+
* @param {string | PUPPET.filters.Contact} [query]
|
|
105
|
+
* @param {{ batch?: number }} [opts] batch size, default 100
|
|
106
|
+
* @returns {AsyncIterable<ContactInterface[]>}
|
|
107
|
+
* @example
|
|
108
|
+
* for await (const chunk of bot.Contact.findAllIter()) {
|
|
109
|
+
* for (const contact of chunk) {
|
|
110
|
+
* console.log(contact.name())
|
|
111
|
+
* }
|
|
112
|
+
* }
|
|
113
|
+
*/
|
|
114
|
+
static findAllIter(query?: string | PUPPET.filters.Contact, opts?: {
|
|
115
|
+
batch?: number;
|
|
116
|
+
}): AsyncIterable<ContactInterface[]>;
|
|
93
117
|
static batchLoadContacts(contactIdList: string[]): Promise<ContactInterface[]>;
|
|
94
118
|
static delete(contact: ContactInterface): Promise<void>;
|
|
95
119
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/contact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAW,sBAAsB,CAAA;AACnD,OAAO,KAAK,EACV,gBAAgB,EACjB,MAA4B,UAAU,CAAA;AAIvC,OAAO,KAAK,EACV,WAAW,EACZ,MAA4B,aAAa,CAAA;AAgB1C,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,gBAAgB,EACjB,MAA0C,mBAAmB,CAAA;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAW,UAAU,CAAA;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAE9C,QAAA,MAAM,SAAS;;;;;;;;;;;8GAId,CAAA;AAED;;;;;;GAMG;AACH,cAAM,YAAa,SAAQ,SAAU,YAAW,YAAY;
|
|
1
|
+
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/contact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAW,sBAAsB,CAAA;AACnD,OAAO,KAAK,EACV,gBAAgB,EACjB,MAA4B,UAAU,CAAA;AAIvC,OAAO,KAAK,EACV,WAAW,EACZ,MAA4B,aAAa,CAAA;AAgB1C,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,gBAAgB,EACjB,MAA0C,mBAAmB,CAAA;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAW,UAAU,CAAA;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAE9C,QAAA,MAAM,SAAS;;;;;;;;;;;8GAId,CAAA;AAED;;;;;;GAMG;AACH,cAAM,YAAa,SAAQ,SAAU,YAAW,YAAY;aAySxC,EAAE,EAAE,MAAM;IAvS5B,MAAM,CAAC,IAAI,8BAAyB;IACpC,MAAM,CAAC,MAAM,oCAA6B;IAE1C;;;;;;;OAOG;IAEH;;;;;;;;;;;;;OAaG;WACU,IAAI,CACf,KAAK,EAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,GACtC,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC;IAqDxC;;;;;;;;;;;;;;;;;;OAkBG;WACU,OAAO,CAClB,KAAK,CAAC,EAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,GACvC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA6C9B;;;;;;;;;;;;;;;;;;;;OAoBG;WACY,WAAW,CACxB,KAAK,CAAC,EAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EACxC,IAAI,CAAC,EAAI;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,aAAa,CAAC,gBAAgB,EAAE,CAAC;WA2CvB,iBAAiB,CAAE,aAAa,EAAE,MAAM,EAAE;WAgE1C,MAAM,CAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAA;IAEjC;;OAEG;gBAEe,EAAE,EAAE,MAAM;IAM5B;;OAEG;IACM,QAAQ,IAAK,MAAM;IAa5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmEG;IACG,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAkBnC;;;;;;;;;;;OAWG;IACG,IAAI,CAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAKrF;;;;;;OAMG;IACH,IAAI,IAAK,MAAM;IAIf,GAAG,IAAK,MAAM;IAId,QAAQ,IAAK,MAAM;IAIb,KAAK,IAAuB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;IACvD,KAAK,CAAE,QAAQ,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC;IACzC,KAAK,CAAE,KAAK,EAAM,IAAI,GAAM,OAAO,CAAC,IAAI,CAAC;IAqF/C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,KAAK,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1C,WAAW,IAAK,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;IAC3C,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BlD,WAAW,IAAK,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;IAC3C,WAAW,CAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhE,KAAK,IAAK,MAAM,GAAG,IAAI;IAQvB,QAAQ,IAAK,OAAO;IAQpB;;;;;;;;;;;;OAYG;IACH,MAAM,IAAK,SAAS,GAAG,OAAO;IAK9B;;;;;;OAMG;IAEH;;;;;;;;;OASG;IACH,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,OAAO;IAO7B;;;;;;;OAOG;IACH,IAAI,IAAK,SAAS,GAAG,OAAO;IAI5B;;;;;;;OAOG;IACH,MAAM,IAAK,MAAM,CAAC,KAAK,CAAC,aAAa;IAMrC;;;;;;OAMG;IACH,QAAQ,IAAK,SAAS,GAAG,MAAM;IAI/B;;;;;;OAMG;IACH,IAAI,IAAK,SAAS,GAAG,MAAM;IAI3B;;;;;;;;;;;OAWG;IACG,MAAM,IAAK,OAAO,CAAC,gBAAgB,CAAC;IAO1C;;;;;;OAMG;IACG,IAAI,IAAK,OAAO,CAAC,YAAY,EAAE,CAAC;IAgBtC;;OAEG;IAEG,GAAG,CAAE,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9D;;OAEG;IAEG,SAAS,CAAE,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE;;;;;;OAMG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B;;;;;;;OAOG;IACG,KAAK,CACT,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAsBV,QAAQ,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1C,QAAQ,IAAK,OAAO,CAAC,OAAO,CAAC;IAyB7B,eAAe,IAAK,OAAO,CAAC,IAAI,CAAC;IASvC;;OAEG;IACH,OAAO,IAAK,OAAO;IAInB;;;;;;OAMG;IACH,IAAI,IAAK,OAAO;IAIhB;;;;;;;;;;;OAWG;IACH,MAAM,IAAK,SAAS,GAAG,MAAM;IAI7B;;;;OAIG;IACH,MAAM,IAAK,SAAS,GAAG,MAAM;IAM7B,cAAc,IAAK,SAAS,GAAG,GAAG;IAY5B,aAAa,CAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAI/E;;;;;;;AAED,cAAM,eAAgB,SAAQ,oBAAqD;CAAG;AACtF,UAAU,oBAAqB,SAAQ,eAAe;CAAG;AAEzD,aAAK,wBAAwB,GACzB,OAAO,CAAA;AAEX,aAAK,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAA;;;;;;;AAC5E,cAAM,WAAY,SAAQ,gBAAoD;CAAG;AAEjF,aAAK,kBAAkB,GAAG,WAAW,CACnC,oBAAoB,EACpB,IAAI,CAAC,OAAO,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAAC,CACvD,CAAA;AAED,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,GACjB,CAAA;AACD,OAAO,EACL,WAAW,GACZ,CAAA"}
|
|
@@ -160,6 +160,61 @@ class ContactMixin extends MixinBase {
|
|
|
160
160
|
}
|
|
161
161
|
return contactList;
|
|
162
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Async iterator variant of {@link findAll} that yields contacts in batches.
|
|
165
|
+
*
|
|
166
|
+
* Each batch is materialised with a single `puppet.batchContactPayload` RPC,
|
|
167
|
+
* so iterating N contacts costs roughly `ceil(N / batch)` round trips instead
|
|
168
|
+
* of N. Uses `puppet.batchContactPayload` directly (required on the puppet
|
|
169
|
+
* abstract), without holding the whole list in memory or blocking the caller
|
|
170
|
+
* until every contact has been hydrated. Callers may `break` between batches
|
|
171
|
+
* to short-circuit.
|
|
172
|
+
*
|
|
173
|
+
* @static
|
|
174
|
+
* @param {string | PUPPET.filters.Contact} [query]
|
|
175
|
+
* @param {{ batch?: number }} [opts] batch size, default 100
|
|
176
|
+
* @returns {AsyncIterable<ContactInterface[]>}
|
|
177
|
+
* @example
|
|
178
|
+
* for await (const chunk of bot.Contact.findAllIter()) {
|
|
179
|
+
* for (const contact of chunk) {
|
|
180
|
+
* console.log(contact.name())
|
|
181
|
+
* }
|
|
182
|
+
* }
|
|
183
|
+
*/
|
|
184
|
+
static async *findAllIter(query, opts) {
|
|
185
|
+
const batch = opts?.batch ?? 100;
|
|
186
|
+
log.verbose('Contact', 'findAllIter(%s, batch=%d)', JSON.stringify(query, stringifyFilter) || '', batch);
|
|
187
|
+
if (batch <= 0) {
|
|
188
|
+
throw new Error(`Contact.findAllIter() batch must be positive, got ${batch}`);
|
|
189
|
+
}
|
|
190
|
+
const contactIdList = await this.wechaty.puppet.contactSearch(query);
|
|
191
|
+
if (!this.wechaty.isLoggedIn) {
|
|
192
|
+
throw new Error('Contact.findAllIter() requires logged in');
|
|
193
|
+
}
|
|
194
|
+
for (let i = 0; i < contactIdList.length; i += batch) {
|
|
195
|
+
const idChunk = contactIdList.slice(i, i + batch);
|
|
196
|
+
const payloadMap = await this.wechaty.puppet.batchContactPayload(idChunk);
|
|
197
|
+
const contactChunk = [];
|
|
198
|
+
for (const id of idChunk) {
|
|
199
|
+
const payload = payloadMap.get(id);
|
|
200
|
+
if (!payload) {
|
|
201
|
+
log.silly('Contact', 'findAllIter() payload missing for id=%s, skip', id);
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
const contact = this.wechaty.puppet.currentUserId === id
|
|
205
|
+
? this.wechaty.ContactSelf.load(id)
|
|
206
|
+
: this.wechaty.Contact.load(id);
|
|
207
|
+
contact.payload = payload;
|
|
208
|
+
contactChunk.push(contact);
|
|
209
|
+
}
|
|
210
|
+
if (contactChunk.length > 0) {
|
|
211
|
+
yield contactChunk;
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
log.warn('Contact', 'findAllIter() batch all missing from payloadMap, idChunk=%j', idChunk);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
163
218
|
static async batchLoadContacts(contactIdList) {
|
|
164
219
|
if (typeof this.wechaty.puppet.batchContactPayload === 'function') {
|
|
165
220
|
const contactList = contactIdList.map(id => {
|
|
@@ -411,21 +466,30 @@ class ContactMixin extends MixinBase {
|
|
|
411
466
|
}
|
|
412
467
|
try {
|
|
413
468
|
await this.wechaty.puppet.contactAlias(this.id, newAlias);
|
|
414
|
-
await this.wechaty.puppet.contactPayloadDirty(this.id);
|
|
415
469
|
/**
|
|
416
470
|
* In normal puppet, the dirty event handler, onDirty, is a sync function, so the contactPayload will get the new payload
|
|
417
471
|
* However for wechaty-puppet-service, it uses flashstore to cache payloads, and deleting a cache is an async function
|
|
418
|
-
* So there is a chance contactPayload will still get old contact
|
|
472
|
+
* So there is a chance contactPayload will still get old contact.
|
|
473
|
+
*
|
|
474
|
+
* The puppet LRU TTL (15min) is far longer than the 300ms retry
|
|
475
|
+
* tick, so a dirty fired ONCE before the loop only invalidates
|
|
476
|
+
* the cache for iteration 1 — the iteration-1 fetch immediately
|
|
477
|
+
* refills both LRU and FlashStore, and iterations 2..10 hit the
|
|
478
|
+
* LRU and return iteration-1's payload forever. Dirty must fire
|
|
479
|
+
* on every retry so every read goes to source.
|
|
419
480
|
*/
|
|
420
481
|
let maxCheck = 10;
|
|
421
482
|
let changed = false;
|
|
422
483
|
while (maxCheck-- > 0 && !changed) {
|
|
423
|
-
await
|
|
424
|
-
setTimeout(resolve, 300);
|
|
425
|
-
});
|
|
484
|
+
await this.wechaty.puppet.contactPayloadDirty(this.id);
|
|
426
485
|
this.payload = await this.wechaty.puppet.contactPayload(this.id);
|
|
427
486
|
const payloadAlias = this.payload.alias || '';
|
|
428
487
|
changed = newAlias === payloadAlias;
|
|
488
|
+
if (!changed) {
|
|
489
|
+
await new Promise(resolve => {
|
|
490
|
+
setTimeout(resolve, 300);
|
|
491
|
+
});
|
|
492
|
+
}
|
|
429
493
|
}
|
|
430
494
|
if (!changed) {
|
|
431
495
|
throw new Error('failed to modify clias, still got old alias after 10 tries');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../../src/user-modules/contact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../../src/user-modules/contact.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* limitations under the License.
|
|
19
19
|
*
|
|
20
20
|
*/
|
|
21
|
-
import { test, } from 'tstest';
|
|
21
|
+
import { test, sinon, } from 'tstest';
|
|
22
22
|
import { PuppetMock } from '@juzi/wechaty-puppet-mock';
|
|
23
23
|
import { WechatyBuilder } from '../wechaty-builder.js';
|
|
24
24
|
import { ContactImpl, } from './contact.js';
|
|
@@ -68,6 +68,162 @@ test('should throw when instanciate the global class', async (t) => {
|
|
|
68
68
|
t.fail(c.toString());
|
|
69
69
|
}, 'should throw when we instanciate a global class');
|
|
70
70
|
});
|
|
71
|
+
test('findAllIter() yields every contact returned by contactSearch', async (t) => {
|
|
72
|
+
const TOTAL = 7;
|
|
73
|
+
const sandbox = sinon.createSandbox();
|
|
74
|
+
const puppet = new PuppetMock();
|
|
75
|
+
const wechaty = WechatyBuilder.build({ puppet });
|
|
76
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
|
|
77
|
+
const buildPayload = (id) => ({ id, name: `name-${id}` });
|
|
78
|
+
sandbox.stub(puppet, 'contactSearch').resolves(idList);
|
|
79
|
+
sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
|
|
80
|
+
const ids = args[0];
|
|
81
|
+
return new Map(ids.map(id => [id, buildPayload(id)]));
|
|
82
|
+
});
|
|
83
|
+
await wechaty.start();
|
|
84
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
85
|
+
await puppet.mocker.login(bot);
|
|
86
|
+
const seen = [];
|
|
87
|
+
for await (const chunk of wechaty.Contact.findAllIter()) {
|
|
88
|
+
for (const contact of chunk) {
|
|
89
|
+
seen.push(contact.id);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
t.equal(seen.length, TOTAL, `should yield ${TOTAL} contacts`);
|
|
93
|
+
t.same(seen, idList, 'should yield contacts in search order');
|
|
94
|
+
await wechaty.stop();
|
|
95
|
+
});
|
|
96
|
+
test('findAllIter() chunks 101 contacts into [100, 1] at default batch=100', async (t) => {
|
|
97
|
+
const TOTAL = 101;
|
|
98
|
+
const sandbox = sinon.createSandbox();
|
|
99
|
+
const puppet = new PuppetMock();
|
|
100
|
+
const wechaty = WechatyBuilder.build({ puppet });
|
|
101
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
|
|
102
|
+
sandbox.stub(puppet, 'contactSearch').resolves(idList);
|
|
103
|
+
sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
|
|
104
|
+
const ids = args[0];
|
|
105
|
+
return new Map(ids.map(id => [id, { id, name: id }]));
|
|
106
|
+
});
|
|
107
|
+
await wechaty.start();
|
|
108
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
109
|
+
await puppet.mocker.login(bot);
|
|
110
|
+
const sizes = [];
|
|
111
|
+
for await (const chunk of wechaty.Contact.findAllIter()) {
|
|
112
|
+
sizes.push(chunk.length);
|
|
113
|
+
}
|
|
114
|
+
t.same(sizes, [100, 1], 'should split into two batches: 100 and 1');
|
|
115
|
+
await wechaty.stop();
|
|
116
|
+
});
|
|
117
|
+
test('findAllIter() honors early break without throwing', async (t) => {
|
|
118
|
+
const TOTAL = 250;
|
|
119
|
+
const sandbox = sinon.createSandbox();
|
|
120
|
+
const puppet = new PuppetMock();
|
|
121
|
+
const wechaty = WechatyBuilder.build({ puppet });
|
|
122
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
|
|
123
|
+
sandbox.stub(puppet, 'contactSearch').resolves(idList);
|
|
124
|
+
const batchSpy = sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
|
|
125
|
+
const ids = args[0];
|
|
126
|
+
return new Map(ids.map(id => [id, { id, name: id }]));
|
|
127
|
+
});
|
|
128
|
+
await wechaty.start();
|
|
129
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
130
|
+
await puppet.mocker.login(bot);
|
|
131
|
+
let received = 0;
|
|
132
|
+
await t.resolves((async () => {
|
|
133
|
+
for await (const chunk of wechaty.Contact.findAllIter()) {
|
|
134
|
+
received += chunk.length;
|
|
135
|
+
if (received >= 100) {
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
})(), 'breaking the loop should not throw');
|
|
140
|
+
t.equal(received, 100, 'should stop after the first batch');
|
|
141
|
+
t.equal(batchSpy.callCount, 1, 'should not invoke batchContactPayload again after break');
|
|
142
|
+
await wechaty.stop();
|
|
143
|
+
});
|
|
144
|
+
test('findAllIter() invokes batchContactPayload ceil(N/batch) times, not N times', async (t) => {
|
|
145
|
+
const TOTAL = 100;
|
|
146
|
+
const BATCH = 25;
|
|
147
|
+
const sandbox = sinon.createSandbox();
|
|
148
|
+
const puppet = new PuppetMock();
|
|
149
|
+
const wechaty = WechatyBuilder.build({ puppet });
|
|
150
|
+
const idList = Array.from({ length: TOTAL }, (_, idx) => `c-${idx}`);
|
|
151
|
+
sandbox.stub(puppet, 'contactSearch').resolves(idList);
|
|
152
|
+
const batchSpy = sandbox.stub(puppet, 'batchContactPayload').callsFake(async (...args) => {
|
|
153
|
+
const ids = args[0];
|
|
154
|
+
return new Map(ids.map(id => [id, { id, name: id }]));
|
|
155
|
+
});
|
|
156
|
+
const rawSpy = sandbox.spy(puppet, 'contactRawPayload');
|
|
157
|
+
await wechaty.start();
|
|
158
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
159
|
+
await puppet.mocker.login(bot);
|
|
160
|
+
const rawCountBefore = rawSpy.callCount;
|
|
161
|
+
let received = 0;
|
|
162
|
+
for await (const chunk of wechaty.Contact.findAllIter(undefined, { batch: BATCH })) {
|
|
163
|
+
received += chunk.length;
|
|
164
|
+
}
|
|
165
|
+
t.equal(received, TOTAL, 'should iterate all contacts');
|
|
166
|
+
t.equal(batchSpy.callCount, Math.ceil(TOTAL / BATCH), `should invoke batchContactPayload ${Math.ceil(TOTAL / BATCH)} times`);
|
|
167
|
+
t.equal(rawSpy.callCount, rawCountBefore, 'should never fall back to per-id contactRawPayload during iteration');
|
|
168
|
+
await wechaty.stop();
|
|
169
|
+
});
|
|
170
|
+
test('findAllIter() with empty contactSearch yields nothing and does not throw', async (t) => {
|
|
171
|
+
const sandbox = sinon.createSandbox();
|
|
172
|
+
const puppet = new PuppetMock();
|
|
173
|
+
const wechaty = WechatyBuilder.build({ puppet });
|
|
174
|
+
sandbox.stub(puppet, 'contactSearch').resolves([]);
|
|
175
|
+
const batchSpy = sandbox.stub(puppet, 'batchContactPayload').resolves(new Map());
|
|
176
|
+
await wechaty.start();
|
|
177
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
178
|
+
await puppet.mocker.login(bot);
|
|
179
|
+
let chunkCount = 0;
|
|
180
|
+
await t.resolves((async () => {
|
|
181
|
+
for await (const _chunk of wechaty.Contact.findAllIter()) {
|
|
182
|
+
chunkCount++;
|
|
183
|
+
}
|
|
184
|
+
})(), 'empty iteration should not throw');
|
|
185
|
+
t.equal(chunkCount, 0, 'should yield zero chunks');
|
|
186
|
+
t.equal(batchSpy.callCount, 0, 'should not call batchContactPayload when no ids');
|
|
187
|
+
await wechaty.stop();
|
|
188
|
+
});
|
|
189
|
+
test('findAllIter() throws when batch <= 0', async (t) => {
|
|
190
|
+
const sandbox = sinon.createSandbox();
|
|
191
|
+
const puppet = new PuppetMock();
|
|
192
|
+
const wechaty = WechatyBuilder.build({ puppet });
|
|
193
|
+
sandbox.stub(puppet, 'contactSearch').resolves([]);
|
|
194
|
+
sandbox.stub(puppet, 'batchContactPayload').resolves(new Map());
|
|
195
|
+
await wechaty.start();
|
|
196
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
197
|
+
await puppet.mocker.login(bot);
|
|
198
|
+
for (const badBatch of [0, -1]) {
|
|
199
|
+
await t.rejects((async () => {
|
|
200
|
+
for await (const _chunk of wechaty.Contact.findAllIter(undefined, { batch: badBatch })) {
|
|
201
|
+
// should never reach here
|
|
202
|
+
}
|
|
203
|
+
})(), /batch must be positive/, `should throw when batch=${badBatch}`);
|
|
204
|
+
}
|
|
205
|
+
await wechaty.stop();
|
|
206
|
+
});
|
|
207
|
+
test('findAllIter() skips ids missing from payloadMap', async (t) => {
|
|
208
|
+
const sandbox = sinon.createSandbox();
|
|
209
|
+
const puppet = new PuppetMock();
|
|
210
|
+
const wechaty = WechatyBuilder.build({ puppet });
|
|
211
|
+
sandbox.stub(puppet, 'contactSearch').resolves(['c1', 'c2', 'c3']);
|
|
212
|
+
sandbox.stub(puppet, 'batchContactPayload').resolves(new Map([['c1', { id: 'c1', name: 'name-c1' }]]));
|
|
213
|
+
await wechaty.start();
|
|
214
|
+
const bot = puppet.mocker.createContact({ name: 'bot' });
|
|
215
|
+
await puppet.mocker.login(bot);
|
|
216
|
+
const seen = [];
|
|
217
|
+
await t.resolves((async () => {
|
|
218
|
+
for await (const chunk of wechaty.Contact.findAllIter()) {
|
|
219
|
+
for (const contact of chunk) {
|
|
220
|
+
seen.push(contact.id);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
})(), 'missing ids should not throw or stall iteration');
|
|
224
|
+
t.same(seen, ['c1'], 'should yield only contacts whose payload was returned');
|
|
225
|
+
await wechaty.stop();
|
|
226
|
+
});
|
|
71
227
|
test('ProtectedProperties', async (t) => {
|
|
72
228
|
const noOneLeft = true;
|
|
73
229
|
t.ok(noOneLeft, 'should match Wechaty properties for every protected property');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.spec.js","sourceRoot":"","sources":["../../../../src/user-modules/contact.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contact.spec.js","sourceRoot":"","sources":["../../../../src/user-modules/contact.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,6 +111,29 @@ declare class RoomMixin extends MixinBase implements SayableSayer {
|
|
|
111
111
|
* const roomList = await bot.Room.find({topic: 'wechaty'})
|
|
112
112
|
*/
|
|
113
113
|
static find(query: string | PUPPET.filters.Room): Promise<undefined | RoomInterface>;
|
|
114
|
+
/**
|
|
115
|
+
* Async iterator variant of {@link findAll} that yields rooms in batches.
|
|
116
|
+
*
|
|
117
|
+
* Each batch is materialised with a single `puppet.batchRoomPayload` RPC,
|
|
118
|
+
* so iterating N rooms costs roughly `ceil(N / batch)` round trips instead
|
|
119
|
+
* of N. Uses `puppet.batchRoomPayload` directly (required on the puppet
|
|
120
|
+
* abstract), so callers do not need a per-id fallback path. Callers may
|
|
121
|
+
* `break` between batches to short-circuit.
|
|
122
|
+
*
|
|
123
|
+
* @static
|
|
124
|
+
* @param {PUPPET.filters.Room} [query]
|
|
125
|
+
* @param {{ batch?: number }} [opts] batch size, default 100
|
|
126
|
+
* @returns {AsyncIterable<RoomInterface[]>}
|
|
127
|
+
* @example
|
|
128
|
+
* for await (const chunk of bot.Room.findAllIter()) {
|
|
129
|
+
* for (const room of chunk) {
|
|
130
|
+
* console.log(await room.topic())
|
|
131
|
+
* }
|
|
132
|
+
* }
|
|
133
|
+
*/
|
|
134
|
+
static findAllIter(query?: PUPPET.filters.Room, opts?: {
|
|
135
|
+
batch?: number;
|
|
136
|
+
}): AsyncIterable<RoomInterface[]>;
|
|
114
137
|
static batchLoadRooms(roomIdList: string[]): Promise<RoomInterface[]>;
|
|
115
138
|
/** const roomList: RoomInterface[] = []
|
|
116
139
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAgB,sBAAsB,CAAA;AACxD,OAAO,EAAW,KAAK,gBAAgB,EAAE,MAAO,UAAU,CAAA;AAE1D,OAAO,KAAK,EACV,WAAW,EACZ,MAAsC,aAAa,CAAA;AAuBpD,OAAO,EAC6B,UAAU,EAC7C,MAA4C,mBAAmB,CAAA;AAChE,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACR,MAA4C,mBAAmB,CAAA;AAGhE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACZ,MAA4B,cAAc,CAAA;AAC3C,OAAO,KAAK,EACV,gBAAgB,EACjB,MAA4B,cAAc,CAAA;AAG3C,QAAA,MAAM,SAAS;;;;;;;;;;;wGAId,CAAA;AAED;;;;;GAKG;AACH,cAAM,SAAU,SAAQ,SAAU,YAAW,YAAY;
|
|
1
|
+
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/room.ts"],"names":[],"mappings":"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"}
|
|
@@ -206,6 +206,58 @@ class RoomMixin extends MixinBase {
|
|
|
206
206
|
log.warn('Room', 'find() all %d rooms are invalid', roomList.length);
|
|
207
207
|
return undefined;
|
|
208
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Async iterator variant of {@link findAll} that yields rooms in batches.
|
|
211
|
+
*
|
|
212
|
+
* Each batch is materialised with a single `puppet.batchRoomPayload` RPC,
|
|
213
|
+
* so iterating N rooms costs roughly `ceil(N / batch)` round trips instead
|
|
214
|
+
* of N. Uses `puppet.batchRoomPayload` directly (required on the puppet
|
|
215
|
+
* abstract), so callers do not need a per-id fallback path. Callers may
|
|
216
|
+
* `break` between batches to short-circuit.
|
|
217
|
+
*
|
|
218
|
+
* @static
|
|
219
|
+
* @param {PUPPET.filters.Room} [query]
|
|
220
|
+
* @param {{ batch?: number }} [opts] batch size, default 100
|
|
221
|
+
* @returns {AsyncIterable<RoomInterface[]>}
|
|
222
|
+
* @example
|
|
223
|
+
* for await (const chunk of bot.Room.findAllIter()) {
|
|
224
|
+
* for (const room of chunk) {
|
|
225
|
+
* console.log(await room.topic())
|
|
226
|
+
* }
|
|
227
|
+
* }
|
|
228
|
+
*/
|
|
229
|
+
static async *findAllIter(query, opts) {
|
|
230
|
+
const batch = opts?.batch ?? 100;
|
|
231
|
+
log.verbose('Room', 'findAllIter(%s, batch=%d)', JSON.stringify(query, stringifyFilter) || '', batch);
|
|
232
|
+
if (batch <= 0) {
|
|
233
|
+
throw new Error(`Room.findAllIter() batch must be positive, got ${batch}`);
|
|
234
|
+
}
|
|
235
|
+
const roomIdList = await this.wechaty.puppet.roomSearch(query);
|
|
236
|
+
if (!this.wechaty.isLoggedIn) {
|
|
237
|
+
throw new Error('Room.findAllIter() requires logged in');
|
|
238
|
+
}
|
|
239
|
+
for (let i = 0; i < roomIdList.length; i += batch) {
|
|
240
|
+
const idChunk = roomIdList.slice(i, i + batch);
|
|
241
|
+
const payloadMap = await this.wechaty.puppet.batchRoomPayload(idChunk);
|
|
242
|
+
const roomChunk = [];
|
|
243
|
+
for (const id of idChunk) {
|
|
244
|
+
const payload = payloadMap.get(id);
|
|
245
|
+
if (!payload) {
|
|
246
|
+
log.silly('Room', 'findAllIter() payload missing for id=%s, skip', id);
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
const room = this.wechaty.Room.load(id);
|
|
250
|
+
room.payload = payload;
|
|
251
|
+
roomChunk.push(room);
|
|
252
|
+
}
|
|
253
|
+
if (roomChunk.length > 0) {
|
|
254
|
+
yield roomChunk;
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
log.warn('Room', 'findAllIter() batch all missing from payloadMap, idChunk=%j', idChunk);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
209
261
|
static async batchLoadRooms(roomIdList) {
|
|
210
262
|
let continuousErrorCount = 0;
|
|
211
263
|
let totalErrorCount = 0;
|