@juzi/wechaty 1.0.18 → 1.0.19
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 +2 -2
- package/dist/cjs/src/pure-functions/update.d.ts +9 -0
- package/dist/cjs/src/pure-functions/update.d.ts.map +1 -0
- package/dist/cjs/src/pure-functions/update.js +73 -0
- package/dist/cjs/src/pure-functions/update.js.map +1 -0
- package/dist/cjs/src/schemas/contact-events.d.ts +4 -1
- package/dist/cjs/src/schemas/contact-events.d.ts.map +1 -1
- package/dist/cjs/src/schemas/contact-events.js.map +1 -1
- package/dist/cjs/src/schemas/room-events.d.ts +5 -1
- package/dist/cjs/src/schemas/room-events.d.ts.map +1 -1
- package/dist/cjs/src/schemas/room-events.js +1 -0
- package/dist/cjs/src/schemas/room-events.js.map +1 -1
- package/dist/cjs/src/schemas/update.d.ts +12 -0
- package/dist/cjs/src/schemas/update.d.ts.map +1 -0
- package/dist/cjs/src/schemas/update.js +3 -0
- package/dist/cjs/src/schemas/update.js.map +1 -0
- package/dist/cjs/src/schemas/wechaty-events.d.ts +5 -1
- package/dist/cjs/src/schemas/wechaty-events.d.ts.map +1 -1
- package/dist/cjs/src/schemas/wechaty-events.js +1 -0
- package/dist/cjs/src/schemas/wechaty-events.js.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-base.d.ts +7 -7
- package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts +1 -1
- package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts +2 -2
- package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts +5 -5
- package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts +5 -5
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts +6 -6
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts +4 -12
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +23 -0
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +1 -1
- package/dist/esm/src/package-json.js +2 -2
- package/dist/esm/src/pure-functions/update.d.ts +9 -0
- package/dist/esm/src/pure-functions/update.d.ts.map +1 -0
- package/dist/esm/src/pure-functions/update.js +69 -0
- package/dist/esm/src/pure-functions/update.js.map +1 -0
- package/dist/esm/src/schemas/contact-events.d.ts +4 -1
- package/dist/esm/src/schemas/contact-events.d.ts.map +1 -1
- package/dist/esm/src/schemas/contact-events.js.map +1 -1
- package/dist/esm/src/schemas/room-events.d.ts +5 -1
- package/dist/esm/src/schemas/room-events.d.ts.map +1 -1
- package/dist/esm/src/schemas/room-events.js +1 -0
- package/dist/esm/src/schemas/room-events.js.map +1 -1
- package/dist/esm/src/schemas/update.d.ts +12 -0
- package/dist/esm/src/schemas/update.d.ts.map +1 -0
- package/dist/esm/src/schemas/update.js +2 -0
- package/dist/esm/src/schemas/update.js.map +1 -0
- package/dist/esm/src/schemas/wechaty-events.d.ts +5 -1
- package/dist/esm/src/schemas/wechaty-events.d.ts.map +1 -1
- package/dist/esm/src/schemas/wechaty-events.js +1 -0
- package/dist/esm/src/schemas/wechaty-events.js.map +1 -1
- package/dist/esm/src/wechaty/wechaty-base.d.ts +7 -7
- package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts +1 -1
- package/dist/esm/src/wechaty-mixins/io-mixin.d.ts +2 -2
- package/dist/esm/src/wechaty-mixins/login-mixin.d.ts +5 -5
- package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts +5 -5
- package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts +6 -6
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts +4 -12
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js +23 -0
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +1 -1
- package/package.json +1 -1
- package/src/package-json.ts +2 -2
- package/src/pure-functions/update.ts +68 -0
- package/src/schemas/contact-events.ts +4 -0
- package/src/schemas/room-events.ts +5 -0
- package/src/schemas/update.ts +14 -0
- package/src/schemas/wechaty-events.ts +5 -1
- package/src/wechaty-mixins/puppet-mixin.ts +24 -0
|
@@ -25,6 +25,8 @@ import type {
|
|
|
25
25
|
|
|
26
26
|
import type { GErrorMixin } from './gerror-mixin.js'
|
|
27
27
|
import type { IoMixin } from './io-mixin.js'
|
|
28
|
+
import type { InfoUpdateInterface } from '../schemas/update.js'
|
|
29
|
+
import { diffPayload } from '../pure-functions/update.js'
|
|
28
30
|
|
|
29
31
|
const PUPPET_MEMORY_NAME = 'puppet'
|
|
30
32
|
|
|
@@ -438,12 +440,34 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
|
|
|
438
440
|
switch (payloadType) {
|
|
439
441
|
case PUPPET.types.Payload.Contact: {
|
|
440
442
|
const contact = await this.Contact.find({ id: payloadId }) as unknown as undefined | ContactImpl
|
|
443
|
+
const oldPayload = JSON.parse(JSON.stringify(contact?.payload || {}))
|
|
441
444
|
await contact?.ready(true)
|
|
445
|
+
const newPayload = JSON.parse(JSON.stringify(contact?.payload || {}))
|
|
446
|
+
const updateEvent: InfoUpdateInterface = {
|
|
447
|
+
type: payloadType,
|
|
448
|
+
id: payloadId,
|
|
449
|
+
updates: diffPayload(oldPayload, newPayload),
|
|
450
|
+
}
|
|
451
|
+
if (updateEvent.updates.length > 0) {
|
|
452
|
+
this.emit('update', updateEvent)
|
|
453
|
+
contact?.emit('update', updateEvent)
|
|
454
|
+
}
|
|
442
455
|
break
|
|
443
456
|
}
|
|
444
457
|
case PUPPET.types.Payload.Room: {
|
|
445
458
|
const room = await this.Room.find({ id: payloadId }) as unknown as undefined | RoomImpl
|
|
459
|
+
const oldPayload = JSON.parse(JSON.stringify(room?.payload || {}))
|
|
446
460
|
await room?.ready(true)
|
|
461
|
+
const newPayload = JSON.parse(JSON.stringify(room?.payload || {}))
|
|
462
|
+
const updateEvent: InfoUpdateInterface = {
|
|
463
|
+
type: payloadType,
|
|
464
|
+
id: payloadId,
|
|
465
|
+
updates: diffPayload(oldPayload, newPayload),
|
|
466
|
+
}
|
|
467
|
+
if (updateEvent.updates.length > 0) {
|
|
468
|
+
this.emit('update', updateEvent)
|
|
469
|
+
room?.emit('update', updateEvent)
|
|
470
|
+
}
|
|
447
471
|
break
|
|
448
472
|
}
|
|
449
473
|
case PUPPET.types.Payload.RoomMember: {
|