@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.
Files changed (62) hide show
  1. package/dist/cjs/src/package-json.js +4 -4
  2. package/dist/cjs/src/user-modules/call.spec.js +5 -1
  3. package/dist/cjs/src/user-modules/call.spec.js.map +1 -1
  4. package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
  5. package/dist/cjs/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
  6. package/dist/cjs/src/user-modules/contact-alias-polling.spec.js +58 -0
  7. package/dist/cjs/src/user-modules/contact-alias-polling.spec.js.map +1 -0
  8. package/dist/cjs/src/user-modules/contact.d.ts +24 -0
  9. package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
  10. package/dist/cjs/src/user-modules/contact.js +69 -5
  11. package/dist/cjs/src/user-modules/contact.js.map +1 -1
  12. package/dist/cjs/src/user-modules/contact.spec.js +156 -0
  13. package/dist/cjs/src/user-modules/contact.spec.js.map +1 -1
  14. package/dist/cjs/src/user-modules/room.d.ts +23 -0
  15. package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
  16. package/dist/cjs/src/user-modules/room.js +52 -0
  17. package/dist/cjs/src/user-modules/room.js.map +1 -1
  18. package/dist/cjs/src/user-modules/room.spec.js +156 -0
  19. package/dist/cjs/src/user-modules/room.spec.js.map +1 -1
  20. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
  21. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
  22. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +68 -0
  23. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
  24. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  25. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +14 -9
  26. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  27. package/dist/esm/src/package-json.js +4 -4
  28. package/dist/esm/src/user-modules/call.spec.js +5 -1
  29. package/dist/esm/src/user-modules/call.spec.js.map +1 -1
  30. package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts +3 -0
  31. package/dist/esm/src/user-modules/contact-alias-polling.spec.d.ts.map +1 -0
  32. package/dist/esm/src/user-modules/contact-alias-polling.spec.js +56 -0
  33. package/dist/esm/src/user-modules/contact-alias-polling.spec.js.map +1 -0
  34. package/dist/esm/src/user-modules/contact.d.ts +24 -0
  35. package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
  36. package/dist/esm/src/user-modules/contact.js +69 -5
  37. package/dist/esm/src/user-modules/contact.js.map +1 -1
  38. package/dist/esm/src/user-modules/contact.spec.js +157 -1
  39. package/dist/esm/src/user-modules/contact.spec.js.map +1 -1
  40. package/dist/esm/src/user-modules/room.d.ts +23 -0
  41. package/dist/esm/src/user-modules/room.d.ts.map +1 -1
  42. package/dist/esm/src/user-modules/room.js +52 -0
  43. package/dist/esm/src/user-modules/room.js.map +1 -1
  44. package/dist/esm/src/user-modules/room.spec.js +156 -0
  45. package/dist/esm/src/user-modules/room.spec.js.map +1 -1
  46. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts +3 -0
  47. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.d.ts.map +1 -0
  48. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js +43 -0
  49. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-call.spec.js.map +1 -0
  50. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  51. package/dist/esm/src/wechaty-mixins/puppet-mixin.js +14 -9
  52. package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  53. package/package.json +3 -3
  54. package/src/package-json.ts +4 -4
  55. package/src/user-modules/call.spec.ts +5 -1
  56. package/src/user-modules/contact-alias-polling.spec.ts +70 -0
  57. package/src/user-modules/contact.spec.ts +212 -0
  58. package/src/user-modules/contact.ts +81 -5
  59. package/src/user-modules/room.spec.ts +210 -0
  60. package/src/user-modules/room.ts +63 -0
  61. package/src/wechaty-mixins/puppet-mixin-dirty-call.spec.ts +55 -0
  62. 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":"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"}
1
+ {"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/contact.ts"],"names":[],"mappings":"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"}
@@ -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 new Promise(resolve => {
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":"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"}
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;