@juzi/wechaty 1.0.159 → 1.0.161
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/io.js +40 -40
- package/dist/cjs/src/io.js.map +1 -1
- package/dist/cjs/src/package-json.js +4 -4
- package/dist/cjs/src/schemas/logger.d.ts +2 -0
- package/dist/cjs/src/schemas/logger.d.ts.map +1 -0
- package/dist/cjs/src/schemas/logger.js +3 -0
- package/dist/cjs/src/schemas/logger.js.map +1 -0
- package/dist/cjs/src/schemas/mod.d.ts +2 -1
- package/dist/cjs/src/schemas/mod.d.ts.map +1 -1
- package/dist/cjs/src/schemas/mod.js.map +1 -1
- package/dist/cjs/src/schemas/wechaty-options.d.ts +19 -0
- package/dist/cjs/src/schemas/wechaty-options.d.ts.map +1 -1
- package/dist/cjs/src/user-mixins/wechatify.d.ts +23 -0
- package/dist/cjs/src/user-mixins/wechatify.d.ts.map +1 -1
- package/dist/cjs/src/user-mixins/wechatify.js +25 -0
- package/dist/cjs/src/user-mixins/wechatify.js.map +1 -1
- package/dist/cjs/src/user-modules/call.d.ts +4 -0
- package/dist/cjs/src/user-modules/call.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/call.js +6 -7
- package/dist/cjs/src/user-modules/call.js.map +1 -1
- package/dist/cjs/src/user-modules/channel-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/channel-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/channel-card.js +2 -3
- package/dist/cjs/src/user-modules/channel-card.js.map +1 -1
- package/dist/cjs/src/user-modules/channel.d.ts +2 -0
- package/dist/cjs/src/user-modules/channel.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/channel.js +2 -3
- package/dist/cjs/src/user-modules/channel.js.map +1 -1
- package/dist/cjs/src/user-modules/chat-history.d.ts +2 -0
- package/dist/cjs/src/user-modules/chat-history.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/chat-history.js +2 -3
- package/dist/cjs/src/user-modules/chat-history.js.map +1 -1
- package/dist/cjs/src/user-modules/consult-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/consult-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/consult-card.js +3 -4
- package/dist/cjs/src/user-modules/consult-card.js.map +1 -1
- package/dist/cjs/src/user-modules/contact-self.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact-self.js +8 -9
- package/dist/cjs/src/user-modules/contact-self.js.map +1 -1
- package/dist/cjs/src/user-modules/contact.d.ts +2 -0
- package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact.js +36 -37
- package/dist/cjs/src/user-modules/contact.js.map +1 -1
- package/dist/cjs/src/user-modules/delay.d.ts +2 -0
- package/dist/cjs/src/user-modules/delay.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.d.ts +2 -0
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.js +2 -3
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.js.map +1 -1
- package/dist/cjs/src/user-modules/favorite.d.ts +21 -0
- package/dist/cjs/src/user-modules/favorite.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/favorite.js +1 -21
- package/dist/cjs/src/user-modules/favorite.js.map +1 -1
- package/dist/cjs/src/user-modules/friendship.d.ts +2 -0
- package/dist/cjs/src/user-modules/friendship.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/friendship.js +11 -12
- package/dist/cjs/src/user-modules/friendship.js.map +1 -1
- package/dist/cjs/src/user-modules/im-specific.d.ts +2 -0
- package/dist/cjs/src/user-modules/im-specific.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/im-specific.js +1 -2
- package/dist/cjs/src/user-modules/im-specific.js.map +1 -1
- package/dist/cjs/src/user-modules/image.d.ts +22 -0
- package/dist/cjs/src/user-modules/image.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/image.js +5 -6
- package/dist/cjs/src/user-modules/image.js.map +1 -1
- package/dist/cjs/src/user-modules/location.d.ts +2 -0
- package/dist/cjs/src/user-modules/location.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/location.js +2 -3
- package/dist/cjs/src/user-modules/location.js.map +1 -1
- package/dist/cjs/src/user-modules/message.d.ts +2 -0
- package/dist/cjs/src/user-modules/message.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/message.js +55 -55
- package/dist/cjs/src/user-modules/message.js.map +1 -1
- package/dist/cjs/src/user-modules/mini-program.d.ts +2 -0
- package/dist/cjs/src/user-modules/mini-program.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/mini-program.js +2 -3
- package/dist/cjs/src/user-modules/mini-program.js.map +1 -1
- package/dist/cjs/src/user-modules/moment.d.ts +21 -0
- package/dist/cjs/src/user-modules/moment.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/moment.js +5 -25
- package/dist/cjs/src/user-modules/moment.js.map +1 -1
- package/dist/cjs/src/user-modules/money.d.ts +2 -0
- package/dist/cjs/src/user-modules/money.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/post.d.ts +2 -0
- package/dist/cjs/src/user-modules/post.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/post.js +25 -25
- package/dist/cjs/src/user-modules/post.js.map +1 -1
- package/dist/cjs/src/user-modules/premium-online-appointment-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/premium-online-appointment-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/premium-online-appointment-card.js +2 -3
- package/dist/cjs/src/user-modules/premium-online-appointment-card.js.map +1 -1
- package/dist/cjs/src/user-modules/room-invitation.d.ts +2 -0
- package/dist/cjs/src/user-modules/room-invitation.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/room-invitation.js +10 -11
- package/dist/cjs/src/user-modules/room-invitation.js.map +1 -1
- package/dist/cjs/src/user-modules/room.d.ts +2 -0
- package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/room.js +43 -43
- package/dist/cjs/src/user-modules/room.js.map +1 -1
- package/dist/cjs/src/user-modules/tag-group.d.ts +2 -0
- package/dist/cjs/src/user-modules/tag-group.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/tag-group.js +13 -14
- package/dist/cjs/src/user-modules/tag-group.js.map +1 -1
- package/dist/cjs/src/user-modules/tag.d.ts +2 -0
- package/dist/cjs/src/user-modules/tag.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/tag.js +21 -22
- package/dist/cjs/src/user-modules/tag.js.map +1 -1
- package/dist/cjs/src/user-modules/url-link.d.ts +2 -0
- package/dist/cjs/src/user-modules/url-link.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/url-link.js +2 -3
- package/dist/cjs/src/user-modules/url-link.js.map +1 -1
- package/dist/cjs/src/user-modules/voice.d.ts +2 -0
- package/dist/cjs/src/user-modules/voice.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/voice.js +8 -9
- package/dist/cjs/src/user-modules/voice.js.map +1 -1
- package/dist/cjs/src/user-modules/wecom.d.ts +3 -1
- package/dist/cjs/src/user-modules/wecom.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wecom.js +2 -3
- package/dist/cjs/src/user-modules/wecom.js.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-order.d.ts +2 -0
- package/dist/cjs/src/user-modules/wxxd-order.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-order.js +9 -10
- package/dist/cjs/src/user-modules/wxxd-order.js.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-product.d.ts +2 -0
- package/dist/cjs/src/user-modules/wxxd-product.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-product.js +6 -7
- package/dist/cjs/src/user-modules/wxxd-product.js.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-base.d.ts +21 -37
- package/dist/cjs/src/wechaty/wechaty-base.d.ts.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-base.js +17 -17
- package/dist/cjs/src/wechaty/wechaty-base.js.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts +15 -4
- package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-skeleton.js +17 -6
- package/dist/cjs/src/wechaty/wechaty-skeleton.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts +3 -2
- package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts +12 -6
- package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/io-mixin.js +8 -8
- package/dist/cjs/src/wechaty-mixins/io-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts +53 -19
- package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/login-mixin.js +5 -5
- package/dist/cjs/src/wechaty-mixins/login-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts +15 -10
- package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.js +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts +18 -12
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.js +5 -5
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts +16 -34
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +90 -90
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +3 -2
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -4
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
- package/dist/esm/src/io.js +40 -40
- package/dist/esm/src/io.js.map +1 -1
- package/dist/esm/src/package-json.js +4 -4
- package/dist/esm/src/schemas/logger.d.ts +2 -0
- package/dist/esm/src/schemas/logger.d.ts.map +1 -0
- package/dist/esm/src/schemas/logger.js +2 -0
- package/dist/esm/src/schemas/logger.js.map +1 -0
- package/dist/esm/src/schemas/mod.d.ts +2 -1
- package/dist/esm/src/schemas/mod.d.ts.map +1 -1
- package/dist/esm/src/schemas/mod.js.map +1 -1
- package/dist/esm/src/schemas/wechaty-options.d.ts +19 -0
- package/dist/esm/src/schemas/wechaty-options.d.ts.map +1 -1
- package/dist/esm/src/user-mixins/wechatify.d.ts +23 -0
- package/dist/esm/src/user-mixins/wechatify.d.ts.map +1 -1
- package/dist/esm/src/user-mixins/wechatify.js +25 -0
- package/dist/esm/src/user-mixins/wechatify.js.map +1 -1
- package/dist/esm/src/user-modules/call.d.ts +4 -0
- package/dist/esm/src/user-modules/call.d.ts.map +1 -1
- package/dist/esm/src/user-modules/call.js +6 -7
- package/dist/esm/src/user-modules/call.js.map +1 -1
- package/dist/esm/src/user-modules/channel-card.d.ts +2 -0
- package/dist/esm/src/user-modules/channel-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/channel-card.js +2 -3
- package/dist/esm/src/user-modules/channel-card.js.map +1 -1
- package/dist/esm/src/user-modules/channel.d.ts +2 -0
- package/dist/esm/src/user-modules/channel.d.ts.map +1 -1
- package/dist/esm/src/user-modules/channel.js +2 -3
- package/dist/esm/src/user-modules/channel.js.map +1 -1
- package/dist/esm/src/user-modules/chat-history.d.ts +2 -0
- package/dist/esm/src/user-modules/chat-history.d.ts.map +1 -1
- package/dist/esm/src/user-modules/chat-history.js +2 -3
- package/dist/esm/src/user-modules/chat-history.js.map +1 -1
- package/dist/esm/src/user-modules/consult-card.d.ts +2 -0
- package/dist/esm/src/user-modules/consult-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/consult-card.js +3 -4
- package/dist/esm/src/user-modules/consult-card.js.map +1 -1
- package/dist/esm/src/user-modules/contact-self.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact-self.js +8 -9
- package/dist/esm/src/user-modules/contact-self.js.map +1 -1
- package/dist/esm/src/user-modules/contact.d.ts +2 -0
- package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact.js +36 -37
- package/dist/esm/src/user-modules/contact.js.map +1 -1
- package/dist/esm/src/user-modules/delay.d.ts +2 -0
- package/dist/esm/src/user-modules/delay.d.ts.map +1 -1
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.d.ts +2 -0
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.d.ts.map +1 -1
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.js +2 -3
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.js.map +1 -1
- package/dist/esm/src/user-modules/favorite.d.ts +21 -0
- package/dist/esm/src/user-modules/favorite.d.ts.map +1 -1
- package/dist/esm/src/user-modules/favorite.js +1 -21
- package/dist/esm/src/user-modules/favorite.js.map +1 -1
- package/dist/esm/src/user-modules/friendship.d.ts +2 -0
- package/dist/esm/src/user-modules/friendship.d.ts.map +1 -1
- package/dist/esm/src/user-modules/friendship.js +11 -12
- package/dist/esm/src/user-modules/friendship.js.map +1 -1
- package/dist/esm/src/user-modules/im-specific.d.ts +2 -0
- package/dist/esm/src/user-modules/im-specific.d.ts.map +1 -1
- package/dist/esm/src/user-modules/im-specific.js +1 -2
- package/dist/esm/src/user-modules/im-specific.js.map +1 -1
- package/dist/esm/src/user-modules/image.d.ts +22 -0
- package/dist/esm/src/user-modules/image.d.ts.map +1 -1
- package/dist/esm/src/user-modules/image.js +5 -6
- package/dist/esm/src/user-modules/image.js.map +1 -1
- package/dist/esm/src/user-modules/location.d.ts +2 -0
- package/dist/esm/src/user-modules/location.d.ts.map +1 -1
- package/dist/esm/src/user-modules/location.js +2 -3
- package/dist/esm/src/user-modules/location.js.map +1 -1
- package/dist/esm/src/user-modules/message.d.ts +2 -0
- package/dist/esm/src/user-modules/message.d.ts.map +1 -1
- package/dist/esm/src/user-modules/message.js +56 -56
- package/dist/esm/src/user-modules/message.js.map +1 -1
- package/dist/esm/src/user-modules/mini-program.d.ts +2 -0
- package/dist/esm/src/user-modules/mini-program.d.ts.map +1 -1
- package/dist/esm/src/user-modules/mini-program.js +2 -3
- package/dist/esm/src/user-modules/mini-program.js.map +1 -1
- package/dist/esm/src/user-modules/moment.d.ts +21 -0
- package/dist/esm/src/user-modules/moment.d.ts.map +1 -1
- package/dist/esm/src/user-modules/moment.js +5 -25
- package/dist/esm/src/user-modules/moment.js.map +1 -1
- package/dist/esm/src/user-modules/money.d.ts +2 -0
- package/dist/esm/src/user-modules/money.d.ts.map +1 -1
- package/dist/esm/src/user-modules/post.d.ts +2 -0
- package/dist/esm/src/user-modules/post.d.ts.map +1 -1
- package/dist/esm/src/user-modules/post.js +25 -25
- package/dist/esm/src/user-modules/post.js.map +1 -1
- package/dist/esm/src/user-modules/premium-online-appointment-card.d.ts +2 -0
- package/dist/esm/src/user-modules/premium-online-appointment-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/premium-online-appointment-card.js +2 -3
- package/dist/esm/src/user-modules/premium-online-appointment-card.js.map +1 -1
- package/dist/esm/src/user-modules/room-invitation.d.ts +2 -0
- package/dist/esm/src/user-modules/room-invitation.d.ts.map +1 -1
- package/dist/esm/src/user-modules/room-invitation.js +10 -11
- package/dist/esm/src/user-modules/room-invitation.js.map +1 -1
- package/dist/esm/src/user-modules/room.d.ts +2 -0
- package/dist/esm/src/user-modules/room.d.ts.map +1 -1
- package/dist/esm/src/user-modules/room.js +44 -44
- package/dist/esm/src/user-modules/room.js.map +1 -1
- package/dist/esm/src/user-modules/tag-group.d.ts +2 -0
- package/dist/esm/src/user-modules/tag-group.d.ts.map +1 -1
- package/dist/esm/src/user-modules/tag-group.js +13 -14
- package/dist/esm/src/user-modules/tag-group.js.map +1 -1
- package/dist/esm/src/user-modules/tag.d.ts +2 -0
- package/dist/esm/src/user-modules/tag.d.ts.map +1 -1
- package/dist/esm/src/user-modules/tag.js +21 -22
- package/dist/esm/src/user-modules/tag.js.map +1 -1
- package/dist/esm/src/user-modules/url-link.d.ts +2 -0
- package/dist/esm/src/user-modules/url-link.d.ts.map +1 -1
- package/dist/esm/src/user-modules/url-link.js +2 -3
- package/dist/esm/src/user-modules/url-link.js.map +1 -1
- package/dist/esm/src/user-modules/voice.d.ts +2 -0
- package/dist/esm/src/user-modules/voice.d.ts.map +1 -1
- package/dist/esm/src/user-modules/voice.js +8 -9
- package/dist/esm/src/user-modules/voice.js.map +1 -1
- package/dist/esm/src/user-modules/wecom.d.ts +3 -1
- package/dist/esm/src/user-modules/wecom.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wecom.js +2 -3
- package/dist/esm/src/user-modules/wecom.js.map +1 -1
- package/dist/esm/src/user-modules/wxxd-order.d.ts +2 -0
- package/dist/esm/src/user-modules/wxxd-order.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wxxd-order.js +9 -10
- package/dist/esm/src/user-modules/wxxd-order.js.map +1 -1
- package/dist/esm/src/user-modules/wxxd-product.d.ts +2 -0
- package/dist/esm/src/user-modules/wxxd-product.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wxxd-product.js +6 -7
- package/dist/esm/src/user-modules/wxxd-product.js.map +1 -1
- package/dist/esm/src/wechaty/wechaty-base.d.ts +21 -37
- package/dist/esm/src/wechaty/wechaty-base.d.ts.map +1 -1
- package/dist/esm/src/wechaty/wechaty-base.js +17 -17
- package/dist/esm/src/wechaty/wechaty-base.js.map +1 -1
- package/dist/esm/src/wechaty/wechaty-skeleton.d.ts +15 -4
- package/dist/esm/src/wechaty/wechaty-skeleton.d.ts.map +1 -1
- package/dist/esm/src/wechaty/wechaty-skeleton.js +17 -6
- package/dist/esm/src/wechaty/wechaty-skeleton.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts +3 -2
- package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/io-mixin.d.ts +12 -6
- package/dist/esm/src/wechaty-mixins/io-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/io-mixin.js +8 -8
- package/dist/esm/src/wechaty-mixins/io-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/login-mixin.d.ts +53 -19
- package/dist/esm/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/login-mixin.js +5 -5
- package/dist/esm/src/wechaty-mixins/login-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts +15 -10
- package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.js +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts +18 -12
- package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/plugin-mixin.js +5 -5
- package/dist/esm/src/wechaty-mixins/plugin-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts +16 -34
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js +90 -90
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +3 -2
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -4
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
- package/package.json +3 -3
- package/src/io.ts +40 -40
- package/src/package-json.ts +4 -4
- package/src/schemas/logger.ts +1 -0
- package/src/schemas/mod.ts +4 -0
- package/src/schemas/wechaty-options.ts +21 -0
- package/src/user-mixins/wechatify.ts +26 -0
- package/src/user-modules/call.ts +6 -7
- package/src/user-modules/channel-card.ts +2 -3
- package/src/user-modules/channel.ts +2 -3
- package/src/user-modules/chat-history.ts +2 -3
- package/src/user-modules/consult-card.ts +3 -5
- package/src/user-modules/contact-self.ts +8 -11
- package/src/user-modules/contact.ts +36 -40
- package/src/user-modules/douyin-one-click-phone-collection.ts +2 -3
- package/src/user-modules/favorite.ts +1 -2
- package/src/user-modules/friendship.ts +11 -12
- package/src/user-modules/im-specific.ts +1 -2
- package/src/user-modules/image.ts +5 -6
- package/src/user-modules/location.ts +2 -3
- package/src/user-modules/message.ts +55 -56
- package/src/user-modules/mini-program.ts +2 -3
- package/src/user-modules/moment.ts +5 -6
- package/src/user-modules/post.ts +25 -25
- package/src/user-modules/premium-online-appointment-card.ts +2 -3
- package/src/user-modules/room-invitation.ts +10 -11
- package/src/user-modules/room.ts +43 -44
- package/src/user-modules/tag-group.ts +13 -14
- package/src/user-modules/tag.ts +21 -22
- package/src/user-modules/url-link.ts +2 -3
- package/src/user-modules/voice.ts +8 -9
- package/src/user-modules/wecom.ts +3 -3
- package/src/user-modules/wxxd-order.ts +9 -10
- package/src/user-modules/wxxd-product.ts +6 -7
- package/src/wechaty/wechaty-base.ts +17 -17
- package/src/wechaty/wechaty-skeleton.ts +21 -8
- package/src/wechaty-mixins/io-mixin.ts +8 -8
- package/src/wechaty-mixins/login-mixin.ts +5 -5
- package/src/wechaty-mixins/misc-mixin.ts +1 -1
- package/src/wechaty-mixins/plugin-mixin.ts +5 -5
- package/src/wechaty-mixins/puppet-mixin.ts +97 -86
- package/src/wechaty-mixins/wechatify-user-module-mixin.ts +4 -4
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts +0 -3
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts.map +0 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js +0 -121
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js.map +0 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts +0 -3
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts.map +0 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js +0 -96
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js.map +0 -1
- package/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.ts +0 -144
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm
|
|
2
|
-
import { test } from 'tstest';
|
|
3
|
-
import * as PUPPET from '@juzi/wechaty-puppet';
|
|
4
|
-
import { PuppetMock } from '@juzi/wechaty-puppet-mock';
|
|
5
|
-
import { WechatyBuilder } from '../wechaty-builder.js';
|
|
6
|
-
/**
|
|
7
|
-
* Regression: the `dirty` event handler for pooled user-modules
|
|
8
|
-
* (Contact / Room / WxxdProduct / WxxdOrder) used to call
|
|
9
|
-
* `this.Xxx.find({ id }).ready(true)`. `find({ id })` on a pool miss
|
|
10
|
-
* constructs a fresh instance and calls `ready()` — a puppet-side gRPC
|
|
11
|
-
* round-trip — turning a passive "invalidate if cached" signal into an
|
|
12
|
-
* active fetch for ids no business code has touched.
|
|
13
|
-
*
|
|
14
|
-
* The fix looks the id up in the pool directly and only calls
|
|
15
|
-
* `.ready(true)` when the instance is already pooled.
|
|
16
|
-
*/
|
|
17
|
-
async function delay(ms) {
|
|
18
|
-
await new Promise(resolve => setTimeout(resolve, ms));
|
|
19
|
-
}
|
|
20
|
-
test('dirty handler does not fetch payload for un-pooled ids, but still refreshes pooled ones', async (t) => {
|
|
21
|
-
const puppet = new PuppetMock();
|
|
22
|
-
const wechaty = WechatyBuilder.build({ puppet });
|
|
23
|
-
const botContact = puppet.mocker.createContact({ name: 'test-bot' });
|
|
24
|
-
await wechaty.start();
|
|
25
|
-
await puppet.mocker.login(botContact);
|
|
26
|
-
// --- Case 1: un-pooled Contact id must not trigger contactRawPayload ---
|
|
27
|
-
let contactRawPayloadCalls = 0;
|
|
28
|
-
const originalContactRawPayload = puppet.contactRawPayload.bind(puppet);
|
|
29
|
-
puppet.contactRawPayload = async (id) => {
|
|
30
|
-
contactRawPayloadCalls++;
|
|
31
|
-
return originalContactRawPayload(id);
|
|
32
|
-
};
|
|
33
|
-
puppet.emit('dirty', {
|
|
34
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
35
|
-
payloadId: 'never-loaded-contact-id',
|
|
36
|
-
});
|
|
37
|
-
await delay(50);
|
|
38
|
-
t.equal(contactRawPayloadCalls, 0, `dirty(Contact) for un-pooled id must not trigger contactRawPayload; got ${contactRawPayloadCalls} call(s)`);
|
|
39
|
-
// --- Case 2: un-pooled Room id must not trigger roomRawPayload ---
|
|
40
|
-
let roomRawPayloadCalls = 0;
|
|
41
|
-
const originalRoomRawPayload = puppet.roomRawPayload.bind(puppet);
|
|
42
|
-
puppet.roomRawPayload = async (id) => {
|
|
43
|
-
roomRawPayloadCalls++;
|
|
44
|
-
return originalRoomRawPayload(id);
|
|
45
|
-
};
|
|
46
|
-
puppet.emit('dirty', {
|
|
47
|
-
payloadType: PUPPET.types.Payload.Room,
|
|
48
|
-
payloadId: 'never-loaded-room-id',
|
|
49
|
-
});
|
|
50
|
-
await delay(50);
|
|
51
|
-
t.equal(roomRawPayloadCalls, 0, `dirty(Room) for un-pooled id must not trigger roomRawPayload; got ${roomRawPayloadCalls} call(s)`);
|
|
52
|
-
// --- Case 3: Message dirty must not trigger messageRawPayload (Message has no user-layer pool) ---
|
|
53
|
-
let messageRawPayloadCalls = 0;
|
|
54
|
-
const originalMessageRawPayload = puppet.messageRawPayload.bind(puppet);
|
|
55
|
-
puppet.messageRawPayload = async (id) => {
|
|
56
|
-
messageRawPayloadCalls++;
|
|
57
|
-
return originalMessageRawPayload(id);
|
|
58
|
-
};
|
|
59
|
-
puppet.emit('dirty', {
|
|
60
|
-
payloadType: PUPPET.types.Payload.Message,
|
|
61
|
-
payloadId: 'some-message-id',
|
|
62
|
-
});
|
|
63
|
-
await delay(50);
|
|
64
|
-
t.equal(messageRawPayloadCalls, 0, `dirty(Message) must not trigger messageRawPayload at the user layer; got ${messageRawPayloadCalls} call(s)`);
|
|
65
|
-
// --- Case 4: un-pooled Contact still emits the user-facing dirty event ---
|
|
66
|
-
let wechatyDirtyEmits = 0;
|
|
67
|
-
wechaty.on('dirty', () => {
|
|
68
|
-
wechatyDirtyEmits++;
|
|
69
|
-
});
|
|
70
|
-
puppet.emit('dirty', {
|
|
71
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
72
|
-
payloadId: 'yet-another-un-pooled-id',
|
|
73
|
-
});
|
|
74
|
-
await delay(50);
|
|
75
|
-
t.equal(wechatyDirtyEmits, 1, `wechaty.emit('dirty', ...) must fire once even when the id is not pooled; got ${wechatyDirtyEmits}`);
|
|
76
|
-
// --- Case 5: pooled Contact MUST re-fetch on dirty ---
|
|
77
|
-
const pooledContact = puppet.mocker.createContact({ name: 'pooled-contact' });
|
|
78
|
-
// Force the contact into the wechatified pool via find(). Payload gets
|
|
79
|
-
// loaded once as part of find()'s ready() call — subsequent counts we
|
|
80
|
-
// measure from AFTER this seed.
|
|
81
|
-
await wechaty.Contact.find({ id: pooledContact.id });
|
|
82
|
-
let contactPayloadCalls = 0;
|
|
83
|
-
const originalContactPayload = puppet.contactPayload.bind(puppet);
|
|
84
|
-
puppet.contactPayload = async (id) => {
|
|
85
|
-
contactPayloadCalls++;
|
|
86
|
-
return originalContactPayload(id);
|
|
87
|
-
};
|
|
88
|
-
puppet.emit('dirty', {
|
|
89
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
90
|
-
payloadId: pooledContact.id,
|
|
91
|
-
});
|
|
92
|
-
await delay(50);
|
|
93
|
-
t.ok(contactPayloadCalls >= 1, `dirty(Contact) for pooled id must trigger contactPayload via ready(true); got ${contactPayloadCalls} call(s)`);
|
|
94
|
-
await wechaty.stop();
|
|
95
|
-
});
|
|
96
|
-
//# sourceMappingURL=puppet-mixin-dirty-pool.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"puppet-mixin-dirty-pool.spec.js","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin-dirty-pool.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm
|
|
2
|
-
|
|
3
|
-
import { test } from 'tstest'
|
|
4
|
-
import * as PUPPET from '@juzi/wechaty-puppet'
|
|
5
|
-
import { PuppetMock } from '@juzi/wechaty-puppet-mock'
|
|
6
|
-
|
|
7
|
-
import { WechatyBuilder } from '../wechaty-builder.js'
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Regression: the `dirty` event handler for pooled user-modules
|
|
11
|
-
* (Contact / Room / WxxdProduct / WxxdOrder) used to call
|
|
12
|
-
* `this.Xxx.find({ id }).ready(true)`. `find({ id })` on a pool miss
|
|
13
|
-
* constructs a fresh instance and calls `ready()` — a puppet-side gRPC
|
|
14
|
-
* round-trip — turning a passive "invalidate if cached" signal into an
|
|
15
|
-
* active fetch for ids no business code has touched.
|
|
16
|
-
*
|
|
17
|
-
* The fix looks the id up in the pool directly and only calls
|
|
18
|
-
* `.ready(true)` when the instance is already pooled.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
async function delay (ms: number): Promise<void> {
|
|
22
|
-
await new Promise<void>(resolve => setTimeout(resolve, ms))
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
test('dirty handler does not fetch payload for un-pooled ids, but still refreshes pooled ones', async t => {
|
|
26
|
-
const puppet = new PuppetMock() as any
|
|
27
|
-
const wechaty = WechatyBuilder.build({ puppet })
|
|
28
|
-
|
|
29
|
-
const botContact = puppet.mocker.createContact({ name: 'test-bot' })
|
|
30
|
-
|
|
31
|
-
await wechaty.start()
|
|
32
|
-
await puppet.mocker.login(botContact)
|
|
33
|
-
|
|
34
|
-
// --- Case 1: un-pooled Contact id must not trigger contactRawPayload ---
|
|
35
|
-
|
|
36
|
-
let contactRawPayloadCalls = 0
|
|
37
|
-
const originalContactRawPayload = puppet.contactRawPayload.bind(puppet)
|
|
38
|
-
puppet.contactRawPayload = async (id: string) => {
|
|
39
|
-
contactRawPayloadCalls++
|
|
40
|
-
return originalContactRawPayload(id)
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
puppet.emit('dirty', {
|
|
44
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
45
|
-
payloadId: 'never-loaded-contact-id',
|
|
46
|
-
})
|
|
47
|
-
await delay(50)
|
|
48
|
-
|
|
49
|
-
t.equal(
|
|
50
|
-
contactRawPayloadCalls,
|
|
51
|
-
0,
|
|
52
|
-
`dirty(Contact) for un-pooled id must not trigger contactRawPayload; got ${contactRawPayloadCalls} call(s)`,
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
// --- Case 2: un-pooled Room id must not trigger roomRawPayload ---
|
|
56
|
-
|
|
57
|
-
let roomRawPayloadCalls = 0
|
|
58
|
-
const originalRoomRawPayload = puppet.roomRawPayload.bind(puppet)
|
|
59
|
-
puppet.roomRawPayload = async (id: string) => {
|
|
60
|
-
roomRawPayloadCalls++
|
|
61
|
-
return originalRoomRawPayload(id)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
puppet.emit('dirty', {
|
|
65
|
-
payloadType: PUPPET.types.Payload.Room,
|
|
66
|
-
payloadId: 'never-loaded-room-id',
|
|
67
|
-
})
|
|
68
|
-
await delay(50)
|
|
69
|
-
|
|
70
|
-
t.equal(
|
|
71
|
-
roomRawPayloadCalls,
|
|
72
|
-
0,
|
|
73
|
-
`dirty(Room) for un-pooled id must not trigger roomRawPayload; got ${roomRawPayloadCalls} call(s)`,
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
// --- Case 3: Message dirty must not trigger messageRawPayload (Message has no user-layer pool) ---
|
|
77
|
-
|
|
78
|
-
let messageRawPayloadCalls = 0
|
|
79
|
-
const originalMessageRawPayload = puppet.messageRawPayload.bind(puppet)
|
|
80
|
-
puppet.messageRawPayload = async (id: string) => {
|
|
81
|
-
messageRawPayloadCalls++
|
|
82
|
-
return originalMessageRawPayload(id)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
puppet.emit('dirty', {
|
|
86
|
-
payloadType: PUPPET.types.Payload.Message,
|
|
87
|
-
payloadId: 'some-message-id',
|
|
88
|
-
})
|
|
89
|
-
await delay(50)
|
|
90
|
-
|
|
91
|
-
t.equal(
|
|
92
|
-
messageRawPayloadCalls,
|
|
93
|
-
0,
|
|
94
|
-
`dirty(Message) must not trigger messageRawPayload at the user layer; got ${messageRawPayloadCalls} call(s)`,
|
|
95
|
-
)
|
|
96
|
-
|
|
97
|
-
// --- Case 4: un-pooled Contact still emits the user-facing dirty event ---
|
|
98
|
-
|
|
99
|
-
let wechatyDirtyEmits = 0
|
|
100
|
-
wechaty.on('dirty', () => {
|
|
101
|
-
wechatyDirtyEmits++
|
|
102
|
-
})
|
|
103
|
-
|
|
104
|
-
puppet.emit('dirty', {
|
|
105
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
106
|
-
payloadId: 'yet-another-un-pooled-id',
|
|
107
|
-
})
|
|
108
|
-
await delay(50)
|
|
109
|
-
|
|
110
|
-
t.equal(
|
|
111
|
-
wechatyDirtyEmits,
|
|
112
|
-
1,
|
|
113
|
-
`wechaty.emit('dirty', ...) must fire once even when the id is not pooled; got ${wechatyDirtyEmits}`,
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
// --- Case 5: pooled Contact MUST re-fetch on dirty ---
|
|
117
|
-
|
|
118
|
-
const pooledContact = puppet.mocker.createContact({ name: 'pooled-contact' })
|
|
119
|
-
|
|
120
|
-
// Force the contact into the wechatified pool via find(). Payload gets
|
|
121
|
-
// loaded once as part of find()'s ready() call — subsequent counts we
|
|
122
|
-
// measure from AFTER this seed.
|
|
123
|
-
await wechaty.Contact.find({ id: pooledContact.id })
|
|
124
|
-
|
|
125
|
-
let contactPayloadCalls = 0
|
|
126
|
-
const originalContactPayload = puppet.contactPayload.bind(puppet)
|
|
127
|
-
puppet.contactPayload = async (id: string) => {
|
|
128
|
-
contactPayloadCalls++
|
|
129
|
-
return originalContactPayload(id)
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
puppet.emit('dirty', {
|
|
133
|
-
payloadType: PUPPET.types.Payload.Contact,
|
|
134
|
-
payloadId: pooledContact.id,
|
|
135
|
-
})
|
|
136
|
-
await delay(50)
|
|
137
|
-
|
|
138
|
-
t.ok(
|
|
139
|
-
contactPayloadCalls >= 1,
|
|
140
|
-
`dirty(Contact) for pooled id must trigger contactPayload via ready(true); got ${contactPayloadCalls} call(s)`,
|
|
141
|
-
)
|
|
142
|
-
|
|
143
|
-
await wechaty.stop()
|
|
144
|
-
})
|