@juzi/wechaty 1.0.15 → 1.0.18

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 (107) hide show
  1. package/dist/cjs/src/mods/impls.d.ts +3 -3
  2. package/dist/cjs/src/mods/impls.d.ts.map +1 -1
  3. package/dist/cjs/src/mods/impls.js +2 -1
  4. package/dist/cjs/src/mods/impls.js.map +1 -1
  5. package/dist/cjs/src/mods/users.d.ts +1 -1
  6. package/dist/cjs/src/mods/users.d.ts.map +1 -1
  7. package/dist/cjs/src/package-json.js +4 -4
  8. package/dist/cjs/src/package-json.js.map +1 -1
  9. package/dist/cjs/src/user-modules/contact.d.ts +8 -0
  10. package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
  11. package/dist/cjs/src/user-modules/contact.js +19 -5
  12. package/dist/cjs/src/user-modules/contact.js.map +1 -1
  13. package/dist/cjs/src/user-modules/mod.d.ts +4 -3
  14. package/dist/cjs/src/user-modules/mod.d.ts.map +1 -1
  15. package/dist/cjs/src/user-modules/mod.js +3 -1
  16. package/dist/cjs/src/user-modules/mod.js.map +1 -1
  17. package/dist/cjs/src/user-modules/post.js +1 -1
  18. package/dist/cjs/src/user-modules/room.d.ts +0 -4
  19. package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
  20. package/dist/cjs/src/user-modules/room.js +3 -15
  21. package/dist/cjs/src/user-modules/room.js.map +1 -1
  22. package/dist/cjs/src/user-modules/tag-group.d.ts +60 -0
  23. package/dist/cjs/src/user-modules/tag-group.d.ts.map +1 -0
  24. package/dist/cjs/src/user-modules/tag-group.js +71 -0
  25. package/dist/cjs/src/user-modules/tag-group.js.map +1 -0
  26. package/dist/cjs/src/user-modules/tag.d.ts +37 -64
  27. package/dist/cjs/src/user-modules/tag.d.ts.map +1 -1
  28. package/dist/cjs/src/user-modules/tag.js +52 -127
  29. package/dist/cjs/src/user-modules/tag.js.map +1 -1
  30. package/dist/cjs/src/wechaty/wechaty-base.d.ts +15 -5
  31. package/dist/cjs/src/wechaty/wechaty-base.d.ts.map +1 -1
  32. package/dist/cjs/src/wechaty/wechaty-impl.spec.js +5 -3
  33. package/dist/cjs/src/wechaty/wechaty-impl.spec.js.map +1 -1
  34. package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts +6 -0
  35. package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
  36. package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts +9 -9
  37. package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
  38. package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts +8 -0
  39. package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
  40. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts +14 -20
  41. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  42. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +6 -2
  43. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  44. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +4 -2
  45. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
  46. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js +3 -0
  47. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
  48. package/dist/esm/src/mods/impls.d.ts +3 -3
  49. package/dist/esm/src/mods/impls.d.ts.map +1 -1
  50. package/dist/esm/src/mods/impls.js +1 -1
  51. package/dist/esm/src/mods/impls.js.map +1 -1
  52. package/dist/esm/src/mods/users.d.ts +1 -1
  53. package/dist/esm/src/mods/users.d.ts.map +1 -1
  54. package/dist/esm/src/package-json.js +4 -4
  55. package/dist/esm/src/package-json.js.map +1 -1
  56. package/dist/esm/src/user-modules/contact.d.ts +8 -0
  57. package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
  58. package/dist/esm/src/user-modules/contact.js +19 -5
  59. package/dist/esm/src/user-modules/contact.js.map +1 -1
  60. package/dist/esm/src/user-modules/mod.d.ts +4 -3
  61. package/dist/esm/src/user-modules/mod.d.ts.map +1 -1
  62. package/dist/esm/src/user-modules/mod.js +2 -1
  63. package/dist/esm/src/user-modules/mod.js.map +1 -1
  64. package/dist/esm/src/user-modules/post.js +1 -1
  65. package/dist/esm/src/user-modules/room.d.ts +0 -4
  66. package/dist/esm/src/user-modules/room.d.ts.map +1 -1
  67. package/dist/esm/src/user-modules/room.js +3 -15
  68. package/dist/esm/src/user-modules/room.js.map +1 -1
  69. package/dist/esm/src/user-modules/tag-group.d.ts +60 -0
  70. package/dist/esm/src/user-modules/tag-group.d.ts.map +1 -0
  71. package/dist/esm/src/user-modules/tag-group.js +68 -0
  72. package/dist/esm/src/user-modules/tag-group.js.map +1 -0
  73. package/dist/esm/src/user-modules/tag.d.ts +37 -64
  74. package/dist/esm/src/user-modules/tag.d.ts.map +1 -1
  75. package/dist/esm/src/user-modules/tag.js +52 -127
  76. package/dist/esm/src/user-modules/tag.js.map +1 -1
  77. package/dist/esm/src/wechaty/wechaty-base.d.ts +15 -5
  78. package/dist/esm/src/wechaty/wechaty-base.d.ts.map +1 -1
  79. package/dist/esm/src/wechaty/wechaty-impl.spec.js +5 -3
  80. package/dist/esm/src/wechaty/wechaty-impl.spec.js.map +1 -1
  81. package/dist/esm/src/wechaty-mixins/login-mixin.d.ts +6 -0
  82. package/dist/esm/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
  83. package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts +9 -9
  84. package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
  85. package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts +8 -0
  86. package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
  87. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts +14 -20
  88. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  89. package/dist/esm/src/wechaty-mixins/puppet-mixin.js +6 -2
  90. package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  91. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +4 -2
  92. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
  93. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -1
  94. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
  95. package/package.json +3 -3
  96. package/src/mods/impls.ts +3 -0
  97. package/src/mods/users.ts +1 -0
  98. package/src/package-json.ts +4 -4
  99. package/src/user-modules/contact.ts +27 -5
  100. package/src/user-modules/mod.ts +8 -0
  101. package/src/user-modules/post.ts +1 -1
  102. package/src/user-modules/room.ts +3 -17
  103. package/src/user-modules/tag-group.ts +115 -0
  104. package/src/user-modules/tag.ts +61 -124
  105. package/src/wechaty/wechaty-impl.spec.ts +3 -0
  106. package/src/wechaty-mixins/puppet-mixin.ts +6 -2
  107. package/src/wechaty-mixins/wechatify-user-module-mixin.ts +6 -0
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TagGroupImpl = void 0;
4
+ const config_js_1 = require("../config.js");
5
+ const validation_js_1 = require("../user-mixins/validation.js");
6
+ const wechatify_js_1 = require("../user-mixins/wechatify.js");
7
+ class TagGroupMixin extends (0, wechatify_js_1.wechatifyMixinBase)() {
8
+ payload;
9
+ /**
10
+ *
11
+ * Create
12
+ *
13
+ */
14
+ static create(payload) {
15
+ config_js_1.log.verbose('TagGroup', 'create()');
16
+ return new this(payload);
17
+ }
18
+ /**
19
+ * @hideconstructor
20
+ */
21
+ constructor(payload) {
22
+ super();
23
+ this.payload = payload;
24
+ config_js_1.log.silly('TagGroup', 'constructor()');
25
+ }
26
+ id() {
27
+ return this.payload.id;
28
+ }
29
+ name() {
30
+ return this.payload.name;
31
+ }
32
+ static async createTagGroup(name) {
33
+ config_js_1.log.verbose('TagGroup', 'createTagGroup(%s, %s)', name);
34
+ try {
35
+ const payload = await this.wechaty.puppet.tagGroupAdd(name);
36
+ if (payload) {
37
+ return new this(payload);
38
+ }
39
+ }
40
+ catch (e) {
41
+ this.wechaty.emitError(e);
42
+ config_js_1.log.error('Contact', 'createTag() exception: %s', e.message);
43
+ }
44
+ }
45
+ static async deleteTagGroup(tagGroup) {
46
+ config_js_1.log.verbose('TagGroup', 'deleteTagGroup(%s)', tagGroup);
47
+ try {
48
+ await this.wechaty.puppet.tagGroupDelete(tagGroup.id());
49
+ }
50
+ catch (e) {
51
+ this.wechaty.emitError(e);
52
+ config_js_1.log.error('Contact', 'createTag() exception: %s', e.message);
53
+ }
54
+ }
55
+ static async list() {
56
+ config_js_1.log.verbose('TagGroup', 'list()');
57
+ try {
58
+ const payloads = await this.wechaty.puppet.tagGroupList();
59
+ return payloads.map(payload => new this(payload));
60
+ }
61
+ catch (e) {
62
+ this.wechaty.emitError(e);
63
+ config_js_1.log.error('TagGroup', 'list() exception: %s', e.message);
64
+ return [];
65
+ }
66
+ }
67
+ }
68
+ class TagGroupImpl extends (0, validation_js_1.validationMixin)(TagGroupMixin)() {
69
+ }
70
+ exports.TagGroupImpl = TagGroupImpl;
71
+ //# sourceMappingURL=tag-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-group.js","sourceRoot":"","sources":["../../../../src/user-modules/tag-group.ts"],"names":[],"mappings":";;;AAsBA,4CAAkC;AAElC,gEAA8D;AAC9D,8DAEoC;AAEpC,MAAM,aAAc,SAAQ,IAAA,iCAAkB,GAAE;IAiB5B;IAflB;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,OAAiC;QAC9C,eAAG,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QAEnC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,YACkB,OAAiC;QAEjD,KAAK,EAAE,CAAA;QAFS,YAAO,GAAP,OAAO,CAA0B;QAGjD,eAAG,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;IACxC,CAAC;IAED,EAAE;QACA,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAE,IAAY;QACvC,eAAG,CAAC,OAAO,CAAC,UAAU,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAA;QAEvD,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YAC3D,IAAI,OAAO,EAAE;gBACX,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;aACzB;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,eAAG,CAAC,KAAK,CAAC,SAAS,EAAE,2BAA2B,EAAG,CAAW,CAAC,OAAO,CAAC,CAAA;SACxE;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAE,QAA2B;QACtD,eAAG,CAAC,OAAO,CAAC,UAAU,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAA;QAEvD,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;SACxD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,eAAG,CAAC,KAAK,CAAC,SAAS,EAAE,2BAA2B,EAAG,CAAW,CAAC,OAAO,CAAC,CAAA;SACxE;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI;QACf,eAAG,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAEjC,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA;YACzD,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;SAClD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,eAAG,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,EAAG,CAAW,CAAC,OAAO,CAAC,CAAA;YACnE,OAAO,EAAE,CAAA;SACV;IACH,CAAC;CAEF;AAED,MAAM,YAAa,SAAQ,IAAA,+BAAe,EAAC,aAAa,CAAC,EAAqB;CAAI;AAahF,oCAAY"}
@@ -1,80 +1,53 @@
1
+ /**
2
+ * Wechaty Chatbot SDK - https://github.com/wechaty/wechaty
3
+ *
4
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
5
+ * Wechaty Contributors <https://github.com/wechaty>.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ */
20
+ import type * as PUPPET from '@juzi/wechaty-puppet';
1
21
  import type { Constructor } from 'clone-class';
2
- import { ContactInterface, ContactImpl } from './contact.js';
3
- import { FavoriteInterface, FavoriteImpl } from './favorite.js';
4
- declare const MixinBase: ((abstract new (...args: any[]) => {}) & {
5
- _pool?: Map<string, TagInterface> | undefined;
6
- readonly pool: Map<string, TagInterface>;
7
- load<L extends import("clone-class/dist/esm/src/constructor.js").ClassInterface<{}> & {
8
- new (...args: any[]): TagInterface;
9
- prototype: TagInterface;
10
- } & import("../user-mixins/poolify.js").PoolifyMixin<TagInterface>>(this: L, id: string): TagInterface;
11
- }) & ((abstract new (...args: any[]) => {
22
+ import type { ContactInterface } from './contact.js';
23
+ declare const TagMixin_base: ((abstract new (...args: any[]) => {
12
24
  readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
13
25
  }) & {
14
26
  readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
15
27
  }) & {
16
28
  new (): {};
17
29
  };
18
- declare class TagMixin extends MixinBase {
19
- readonly id: string;
30
+ declare class TagMixin extends TagMixin_base {
31
+ readonly payload: PUPPET.payloads.Tag;
20
32
  /**
21
- * @hideconstructor
22
- */
23
- constructor(id: string);
24
- /**
25
- * Get a Tag instance for "tag"
26
- *
27
- * > Tips:
28
- * This function is depending on the Puppet Implementation, see [puppet-compatible-table](https://github.com/Chatie/wechaty/wiki/Puppet#3-puppet-compatible-table)
29
- *
30
- * @static
31
- * @param {string} [tag] the tag name which want to create
32
- * @returns {Promise<TagImpl>}
33
- * @example
34
- * const bot = new Wechaty()
35
- * await bot.Tag.get('TagName')
36
- */
37
- static get(tag: string): Promise<TagInterface>;
38
- /**
39
- * Delete a tag from Wechat
40
- *
41
- * If you want to delete a tag, please make sure there's no more Contact/Favorite(s) are using this tag.
42
- * If this tag is be used by any Contact/Favorite, then it can not be deleted.
43
- * (This is for protecting the tag being deleted by mistake)
44
33
  *
45
- * @static
46
- * @returns {Promise<TagInterface[]>}
47
- * @example
48
- * const tag = wechaty.Tag.get('tag')
49
- * await wechaty.Tag.delete(tag)
50
- */
51
- /**
52
- * TODO: refactoring the target: do not use ContactIml or FavoriteImpl
53
- */
54
- static delete(tag: TagInterface, target?: typeof ContactImpl | typeof FavoriteImpl): Promise<void>;
55
- /**
56
- * Add tag for contact
34
+ * Create
57
35
  *
58
- * > Tips:
59
- * This function is depending on the Puppet Implementation, see [puppet-compatible-table](https://github.com/Chatie/wechaty/wiki/Puppet#3-puppet-compatible-table)
60
- *
61
- * @param {ContactInterface} [to] the contact which need to add tag
62
- * @returns {Promise<void>}
63
- * @example
64
- * await tag.add(contact)
65
36
  */
66
- add(to: ContactInterface | FavoriteInterface): Promise<void>;
37
+ static create(payload: PUPPET.payloads.Tag): TagInterface;
67
38
  /**
68
- * Remove this tag from Contact/Favorite
69
- *
70
- * > Tips:
71
- * This function is depending on the Puppet Implementation, see [puppet-compatible-table](https://github.com/Chatie/wechaty/wiki/Puppet#3-puppet-compatible-table)
72
- *
73
- * @returns {Promise<void>}
74
- * @example
75
- * await tag.remove(contact)
39
+ * @hideconstructor
76
40
  */
77
- remove(from: ContactInterface | FavoriteInterface): Promise<void>;
41
+ constructor(payload: PUPPET.payloads.Tag);
42
+ id(): string;
43
+ type(): PUPPET.types.Tag;
44
+ groupId(): string;
45
+ name(): string;
46
+ static list(): Promise<TagInterface[]>;
47
+ contactList(): Promise<ContactInterface[]>;
48
+ tag(contact: ContactInterface): Promise<void>;
49
+ static createTag(tagGroupId: string | undefined, name: string): Promise<TagInterface | void>;
50
+ static deleteTag(tag: TagInterface): Promise<void>;
78
51
  }
79
52
  declare const TagImpl_base: {
80
53
  new (...args: any[]): {};
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAO,aAAa,CAAA;AAE/C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAO,cAAc,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAU/D,QAAA,MAAM,SAAS;;;;;;;;;;;;;CAEE,CAAA;AAEjB,cAAM,QAAS,SAAQ,SAAS;aAMZ,EAAE,EAAE,MAAM;IAJ5B;;OAEG;gBAEe,EAAE,EAAE,MAAM;IAM5B;;;;;;;;;;;;OAYG;WACU,GAAG,CACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,YAAY,CAAC;IAKxB;;;;;;;;;;;;OAYG;IAEH;;OAEG;WACU,MAAM,CACjB,GAAG,EAAE,YAAY,EACjB,MAAM,CAAC,EAAE,OAAO,WAAW,GAAG,OAAO,YAAY,GAChD,OAAO,CAAC,IAAI,CAAC;IA2BhB;;;;;;;;;;OAUG;IACG,GAAG,CACP,EAAE,EAAE,gBAAgB,GAAG,iBAAiB,GACvC,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;;;;;;OASG;IACG,MAAM,CAAE,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBzE;;;;;;;AAED,cAAM,OAAQ,SAAQ,YAAyC;CAAG;AAClE,UAAU,YAAa,SAAQ,OAAO;CAAG;AAEzC,aAAK,cAAc,GAAG,WAAW,CAC/B,YAAY,EACZ,OAAO,OAAO,CACf,CAAA;AAED,YAAY,EACV,cAAc,EACd,YAAY,GACb,CAAA;AACD,OAAO,EACL,OAAO,GACR,CAAA"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAO9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;;;;;;;;AAEpD,cAAM,QAAS,SAAQ,aAAoB;aAiBvB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;IAf9C;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,YAAY;IAM1D;;OAEG;gBAEe,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;IAM9C,EAAE,IAAK,MAAM;IAIb,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,GAAG;IAIzB,OAAO,IAAK,MAAM;IAIlB,IAAI,IAAK,MAAM;WAIF,IAAI,IAAK,OAAO,CAAC,YAAY,EAAE,CAAC;IAavC,WAAW,IAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ3C,GAAG,CAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;WAOvC,SAAS,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;WActF,SAAS,CAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAW1D;;;;;;;AAED,cAAM,OAAQ,SAAQ,YAAyC;CAAG;AAClE,UAAU,YAAa,SAAQ,OAAO;CAAG;AAEzC,aAAK,cAAc,GAAG,WAAW,CAC/B,YAAY,EACZ,OAAO,OAAO,CACf,CAAA;AAED,YAAY,EACV,cAAc,EACd,YAAY,GACb,CAAA;AACD,OAAO,EACL,OAAO,GACR,CAAA"}
@@ -1,159 +1,84 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TagImpl = void 0;
4
- /**
5
- * Wechaty Chatbot SDK - https://github.com/wechaty/wechaty
6
- *
7
- * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
8
- * Wechaty Contributors <https://github.com/wechaty>.
9
- *
10
- * Licensed under the Apache License, Version 2.0 (the "License");
11
- * you may not use this file except in compliance with the License.
12
- * You may obtain a copy of the License at
13
- *
14
- * http://www.apache.org/licenses/LICENSE-2.0
15
- *
16
- * Unless required by applicable law or agreed to in writing, software
17
- * distributed under the License is distributed on an "AS IS" BASIS,
18
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
- * See the License for the specific language governing permissions and
20
- * limitations under the License.
21
- *
22
- */
23
- const wechaty_puppet_1 = require("@juzi/wechaty-puppet");
24
- const contact_js_1 = require("./contact.js");
25
- const favorite_js_1 = require("./favorite.js");
26
- const poolify_js_1 = require("../user-mixins/poolify.js");
4
+ const config_js_1 = require("../config.js");
27
5
  const validation_js_1 = require("../user-mixins/validation.js");
28
6
  const wechatify_js_1 = require("../user-mixins/wechatify.js");
29
- const MixinBase = (0, poolify_js_1.poolifyMixin)((0, wechatify_js_1.wechatifyMixinBase)())();
30
- class TagMixin extends MixinBase {
31
- id;
7
+ class TagMixin extends (0, wechatify_js_1.wechatifyMixinBase)() {
8
+ payload;
32
9
  /**
33
- * @hideconstructor
34
- */
35
- constructor(id) {
36
- super();
37
- this.id = id;
38
- wechaty_puppet_1.log.silly('Tag', `constructor(${id})`);
39
- }
40
- /**
41
- * Get a Tag instance for "tag"
42
10
  *
43
- * > Tips:
44
- * This function is depending on the Puppet Implementation, see [puppet-compatible-table](https://github.com/Chatie/wechaty/wiki/Puppet#3-puppet-compatible-table)
11
+ * Create
45
12
  *
46
- * @static
47
- * @param {string} [tag] the tag name which want to create
48
- * @returns {Promise<TagImpl>}
49
- * @example
50
- * const bot = new Wechaty()
51
- * await bot.Tag.get('TagName')
52
13
  */
53
- static async get(tag) {
54
- wechaty_puppet_1.log.verbose('Tag', 'get(%s)', tag);
55
- return this.load(tag);
14
+ static create(payload) {
15
+ config_js_1.log.verbose('Tag', 'create()');
16
+ return new this(payload);
56
17
  }
57
18
  /**
58
- * Delete a tag from Wechat
59
- *
60
- * If you want to delete a tag, please make sure there's no more Contact/Favorite(s) are using this tag.
61
- * If this tag is be used by any Contact/Favorite, then it can not be deleted.
62
- * (This is for protecting the tag being deleted by mistake)
63
- *
64
- * @static
65
- * @returns {Promise<TagInterface[]>}
66
- * @example
67
- * const tag = wechaty.Tag.get('tag')
68
- * await wechaty.Tag.delete(tag)
69
- */
70
- /**
71
- * TODO: refactoring the target: do not use ContactIml or FavoriteImpl
19
+ * @hideconstructor
72
20
  */
73
- static async delete(tag, target) {
74
- wechaty_puppet_1.log.verbose('Tag', 'static delete(%s)', tag);
75
- /**
76
- * Huan(202110) TODO: refactory this design:
77
- * 1. we should not pass `typeof ContactImpl` as argument
78
- * 2. find a better way to manage tag.
79
- */
21
+ constructor(payload) {
22
+ super();
23
+ this.payload = payload;
24
+ config_js_1.log.silly('Tag', 'constructor()');
25
+ }
26
+ id() {
27
+ return this.payload.id;
28
+ }
29
+ type() {
30
+ return this.payload.type;
31
+ }
32
+ groupId() {
33
+ return this.payload.groupId || '';
34
+ }
35
+ name() {
36
+ return this.payload.name;
37
+ }
38
+ static async list() {
39
+ config_js_1.log.verbose('Tag', 'list()');
80
40
  try {
81
- /**
82
- * TODO(huan): add tag check code here for checking if this tag is still being used.
83
- */
84
- if (!target || target === contact_js_1.ContactImpl || target === this.wechaty.Contact) {
85
- await this.wechaty.puppet.tagContactDelete(tag.id);
86
- // TODO:
87
- // } else if (!target || target === Favorite || target === this.wechaty.Favorite) {
88
- // await this.wechaty.puppet.tagFavoriteDelete(tag.id)
89
- }
41
+ const payloads = await this.wechaty.puppet.tagTagList();
42
+ return payloads.map(payload => new this(payload));
90
43
  }
91
44
  catch (e) {
92
45
  this.wechaty.emitError(e);
93
- wechaty_puppet_1.log.error('Tag', 'static delete() exception: %s', e.message);
46
+ config_js_1.log.error('Tag', 'list() exception: %s', e.message);
47
+ return [];
94
48
  }
95
49
  }
96
- /**
97
- * Add tag for contact
98
- *
99
- * > Tips:
100
- * This function is depending on the Puppet Implementation, see [puppet-compatible-table](https://github.com/Chatie/wechaty/wiki/Puppet#3-puppet-compatible-table)
101
- *
102
- * @param {ContactInterface} [to] the contact which need to add tag
103
- * @returns {Promise<void>}
104
- * @example
105
- * await tag.add(contact)
106
- */
107
- async add(to) {
108
- wechaty_puppet_1.log.verbose('Tag', 'add(%s) for %s', to, this.id);
109
- /**
110
- * Huan(202110): TODO: refactory this design:
111
- * 1. we should not pass `typeof ContactImpl` as argument
112
- * 2. use instanceof to check the type of `to`
113
- */
50
+ async contactList() {
51
+ config_js_1.log.verbose('Tag', 'contactList() for tag id: %s', this.id());
52
+ const contactIds = await this.wechaty.puppet.tagTagContactList(this.groupId(), this.id());
53
+ const contactPromises = contactIds.map(id => this.wechaty.Contact.find({ id }));
54
+ return Promise.all(contactPromises);
55
+ }
56
+ async tag(contact) {
57
+ config_js_1.log.verbose('Tag', 'tag(%s) for tag id: %s', contact, this.id());
58
+ const contactId = contact.id;
59
+ await this.wechaty.puppet.tagContactTagAdd(this.groupId(), this.id(), contactId);
60
+ }
61
+ static async createTag(tagGroupId, name) {
62
+ config_js_1.log.verbose('Tag', 'createTag(%s, %s)', tagGroupId, name);
114
63
  try {
115
- if (contact_js_1.ContactImpl.valid(to)) {
116
- await this.wechaty.puppet.tagContactAdd(this.id, to.id);
117
- }
118
- else if (favorite_js_1.FavoriteImpl.valid(to)) {
119
- // TODO: await this.wechaty.puppet.tagAddFavorite(this.tag, to.id)
64
+ const payload = await this.wechaty.puppet.tagTagAdd(tagGroupId, name);
65
+ if (payload) {
66
+ return new this(payload);
120
67
  }
121
68
  }
122
69
  catch (e) {
123
70
  this.wechaty.emitError(e);
124
- wechaty_puppet_1.log.error('Tag', 'add() exception: %s', e.message);
125
- throw new Error(`add error : ${e}`);
71
+ config_js_1.log.error('Contact', 'createTag() exception: %s', e.message);
126
72
  }
127
73
  }
128
- /**
129
- * Remove this tag from Contact/Favorite
130
- *
131
- * > Tips:
132
- * This function is depending on the Puppet Implementation, see [puppet-compatible-table](https://github.com/Chatie/wechaty/wiki/Puppet#3-puppet-compatible-table)
133
- *
134
- * @returns {Promise<void>}
135
- * @example
136
- * await tag.remove(contact)
137
- */
138
- async remove(from) {
139
- wechaty_puppet_1.log.verbose('Tag', 'remove(%s) for %s', from, this.id);
140
- /**
141
- * Huan(202110): TODO: refactory this design:
142
- * 1. we should not pass `typeof ContactImpl` as argument
143
- * 2. use instanceof to check the type of `to`
144
- */
74
+ static async deleteTag(tag) {
75
+ config_js_1.log.verbose('Tag', 'deleteTag(%s, %s)', tag);
145
76
  try {
146
- if (from instanceof contact_js_1.ContactImpl) {
147
- await this.wechaty.puppet.tagContactRemove(this.id, from.id);
148
- }
149
- else if (from instanceof favorite_js_1.FavoriteImpl) {
150
- // TODO await this.wechaty.puppet.tagRemoveFavorite(this.tag, from.id)
151
- }
77
+ await this.wechaty.puppet.tagTagDelete(tag.groupId(), tag.id());
152
78
  }
153
79
  catch (e) {
154
80
  this.wechaty.emitError(e);
155
- wechaty_puppet_1.log.error('Tag', 'remove() exception: %s', e.message);
156
- throw new Error(`remove error : ${e}`);
81
+ config_js_1.log.error('Contact', 'deleteTag() exception: %s', e.message);
157
82
  }
158
83
  }
159
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"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"}
@@ -67,12 +67,12 @@ declare const mixinBase: (abstract new (...args: any[]) => {
67
67
  __wechatifiedRoom?: import("../user-modules/room.js").RoomConstructor | undefined;
68
68
  __wechatifiedRoomInvitation?: import("../user-modules/room-invitation.js").RoomInvitationConstructor | undefined;
69
69
  __wechatifiedTag?: import("../user-modules/tag.js").TagConstructor | undefined;
70
+ __wechatifiedTagGroup?: import("../user-modules/tag-group.js").TagGroupConstructor | undefined;
70
71
  __wechatifiedUrlLink?: import("../user-modules/url-link.js").UrlLinkConstructor | undefined;
71
72
  __wechatifiedChannel?: import("../user-modules/channel.js").ChannelConstructor | undefined;
72
73
  readonly Contact: import("../user-modules/contact.js").ContactConstructor;
73
74
  readonly ContactSelf: import("../user-modules/contact-self.js").ContactSelfConstructor;
74
75
  readonly Delay: import("../user-modules/delay.js").DelayConstructor;
75
- readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
76
76
  /**
77
77
  * Main bot class.
78
78
  *
@@ -96,6 +96,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
96
96
  * bot.on('message', message => console.log(`Message: ${message}`))
97
97
  * bot.start()
98
98
  */
99
+ readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
99
100
  readonly Image: import("../user-modules/image.js").ImageConstructor;
100
101
  readonly Location: import("../user-modules/location.js").LocationConstructor;
101
102
  readonly Message: import("../user-modules/message.js").MessageConstructor;
@@ -104,6 +105,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
104
105
  readonly Room: import("../user-modules/room.js").RoomConstructor;
105
106
  readonly RoomInvitation: import("../user-modules/room-invitation.js").RoomInvitationConstructor;
106
107
  readonly Tag: import("../user-modules/tag.js").TagConstructor;
108
+ readonly TagGroup: import("../user-modules/tag-group.js").TagGroupConstructor;
107
109
  readonly UrlLink: import("../user-modules/url-link.js").UrlLinkConstructor;
108
110
  readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
109
111
  __io?: import("../io.js").Io | undefined;
@@ -159,12 +161,12 @@ declare const mixinBase: (abstract new (...args: any[]) => {
159
161
  __wechatifiedRoom?: import("../user-modules/room.js").RoomConstructor | undefined;
160
162
  __wechatifiedRoomInvitation?: import("../user-modules/room-invitation.js").RoomInvitationConstructor | undefined;
161
163
  __wechatifiedTag?: import("../user-modules/tag.js").TagConstructor | undefined;
164
+ __wechatifiedTagGroup?: import("../user-modules/tag-group.js").TagGroupConstructor | undefined;
162
165
  __wechatifiedUrlLink?: import("../user-modules/url-link.js").UrlLinkConstructor | undefined;
163
166
  __wechatifiedChannel?: import("../user-modules/channel.js").ChannelConstructor | undefined;
164
167
  readonly Contact: import("../user-modules/contact.js").ContactConstructor;
165
168
  readonly ContactSelf: import("../user-modules/contact-self.js").ContactSelfConstructor;
166
169
  readonly Delay: import("../user-modules/delay.js").DelayConstructor;
167
- readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
168
170
  /**
169
171
  * Main bot class.
170
172
  *
@@ -188,6 +190,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
188
190
  * bot.on('message', message => console.log(`Message: ${message}`))
189
191
  * bot.start()
190
192
  */
193
+ readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
191
194
  readonly Image: import("../user-modules/image.js").ImageConstructor;
192
195
  readonly Location: import("../user-modules/location.js").LocationConstructor;
193
196
  readonly Message: import("../user-modules/message.js").MessageConstructor;
@@ -196,6 +199,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
196
199
  readonly Room: import("../user-modules/room.js").RoomConstructor;
197
200
  readonly RoomInvitation: import("../user-modules/room-invitation.js").RoomInvitationConstructor;
198
201
  readonly Tag: import("../user-modules/tag.js").TagConstructor;
202
+ readonly TagGroup: import("../user-modules/tag-group.js").TagGroupConstructor;
199
203
  readonly UrlLink: import("../user-modules/url-link.js").UrlLinkConstructor;
200
204
  readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
201
205
  wrapAsync: import("gerror/dist/esm/src/wrap-async-error/wrap-async-error.js").WrapAsync;
@@ -255,12 +259,12 @@ declare const mixinBase: (abstract new (...args: any[]) => {
255
259
  __wechatifiedRoom?: import("../user-modules/room.js").RoomConstructor | undefined;
256
260
  __wechatifiedRoomInvitation?: import("../user-modules/room-invitation.js").RoomInvitationConstructor | undefined;
257
261
  __wechatifiedTag?: import("../user-modules/tag.js").TagConstructor | undefined;
262
+ __wechatifiedTagGroup?: import("../user-modules/tag-group.js").TagGroupConstructor | undefined;
258
263
  __wechatifiedUrlLink?: import("../user-modules/url-link.js").UrlLinkConstructor | undefined;
259
264
  __wechatifiedChannel?: import("../user-modules/channel.js").ChannelConstructor | undefined;
260
265
  readonly Contact: import("../user-modules/contact.js").ContactConstructor;
261
266
  readonly ContactSelf: import("../user-modules/contact-self.js").ContactSelfConstructor;
262
267
  readonly Delay: import("../user-modules/delay.js").DelayConstructor;
263
- readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
264
268
  /**
265
269
  * Main bot class.
266
270
  *
@@ -284,6 +288,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
284
288
  * bot.on('message', message => console.log(`Message: ${message}`))
285
289
  * bot.start()
286
290
  */
291
+ readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
287
292
  readonly Image: import("../user-modules/image.js").ImageConstructor;
288
293
  readonly Location: import("../user-modules/location.js").LocationConstructor;
289
294
  readonly Message: import("../user-modules/message.js").MessageConstructor;
@@ -292,6 +297,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
292
297
  readonly Room: import("../user-modules/room.js").RoomConstructor;
293
298
  readonly RoomInvitation: import("../user-modules/room-invitation.js").RoomInvitationConstructor;
294
299
  readonly Tag: import("../user-modules/tag.js").TagConstructor;
300
+ readonly TagGroup: import("../user-modules/tag-group.js").TagGroupConstructor;
295
301
  readonly UrlLink: import("../user-modules/url-link.js").UrlLinkConstructor;
296
302
  readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
297
303
  wrapAsync: import("gerror/dist/esm/src/wrap-async-error/wrap-async-error.js").WrapAsync;
@@ -323,12 +329,12 @@ declare const mixinBase: (abstract new (...args: any[]) => {
323
329
  __wechatifiedRoom?: import("../user-modules/room.js").RoomConstructor | undefined;
324
330
  __wechatifiedRoomInvitation?: import("../user-modules/room-invitation.js").RoomInvitationConstructor | undefined;
325
331
  __wechatifiedTag?: import("../user-modules/tag.js").TagConstructor | undefined;
332
+ __wechatifiedTagGroup?: import("../user-modules/tag-group.js").TagGroupConstructor | undefined;
326
333
  __wechatifiedUrlLink?: import("../user-modules/url-link.js").UrlLinkConstructor | undefined;
327
334
  __wechatifiedChannel?: import("../user-modules/channel.js").ChannelConstructor | undefined;
328
335
  readonly Contact: import("../user-modules/contact.js").ContactConstructor;
329
336
  readonly ContactSelf: import("../user-modules/contact-self.js").ContactSelfConstructor;
330
337
  readonly Delay: import("../user-modules/delay.js").DelayConstructor;
331
- readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
332
338
  /**
333
339
  * Main bot class.
334
340
  *
@@ -352,6 +358,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
352
358
  * bot.on('message', message => console.log(`Message: ${message}`))
353
359
  * bot.start()
354
360
  */
361
+ readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
355
362
  readonly Image: import("../user-modules/image.js").ImageConstructor;
356
363
  readonly Location: import("../user-modules/location.js").LocationConstructor;
357
364
  readonly Message: import("../user-modules/message.js").MessageConstructor;
@@ -360,6 +367,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
360
367
  readonly Room: import("../user-modules/room.js").RoomConstructor;
361
368
  readonly RoomInvitation: import("../user-modules/room-invitation.js").RoomInvitationConstructor;
362
369
  readonly Tag: import("../user-modules/tag.js").TagConstructor;
370
+ readonly TagGroup: import("../user-modules/tag-group.js").TagGroupConstructor;
363
371
  readonly UrlLink: import("../user-modules/url-link.js").UrlLinkConstructor;
364
372
  readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
365
373
  readonly log: import("brolog/dist/esm/src/logger.js").Loggable;
@@ -435,12 +443,12 @@ declare const mixinBase: (abstract new (...args: any[]) => {
435
443
  __wechatifiedRoom?: import("../user-modules/room.js").RoomConstructor | undefined;
436
444
  __wechatifiedRoomInvitation?: import("../user-modules/room-invitation.js").RoomInvitationConstructor | undefined;
437
445
  __wechatifiedTag?: import("../user-modules/tag.js").TagConstructor | undefined;
446
+ __wechatifiedTagGroup?: import("../user-modules/tag-group.js").TagGroupConstructor | undefined;
438
447
  __wechatifiedUrlLink?: import("../user-modules/url-link.js").UrlLinkConstructor | undefined;
439
448
  __wechatifiedChannel?: import("../user-modules/channel.js").ChannelConstructor | undefined;
440
449
  readonly Contact: import("../user-modules/contact.js").ContactConstructor;
441
450
  readonly ContactSelf: import("../user-modules/contact-self.js").ContactSelfConstructor;
442
451
  readonly Delay: import("../user-modules/delay.js").DelayConstructor;
443
- readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
444
452
  /**
445
453
  * Main bot class.
446
454
  *
@@ -464,6 +472,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
464
472
  * bot.on('message', message => console.log(`Message: ${message}`))
465
473
  * bot.start()
466
474
  */
475
+ readonly Friendship: import("../user-modules/friendship.js").FriendshipConstructor;
467
476
  readonly Image: import("../user-modules/image.js").ImageConstructor;
468
477
  readonly Location: import("../user-modules/location.js").LocationConstructor;
469
478
  readonly Message: import("../user-modules/message.js").MessageConstructor;
@@ -472,6 +481,7 @@ declare const mixinBase: (abstract new (...args: any[]) => {
472
481
  readonly Room: import("../user-modules/room.js").RoomConstructor;
473
482
  readonly RoomInvitation: import("../user-modules/room-invitation.js").RoomInvitationConstructor;
474
483
  readonly Tag: import("../user-modules/tag.js").TagConstructor;
484
+ readonly TagGroup: import("../user-modules/tag-group.js").TagGroupConstructor;
475
485
  readonly UrlLink: import("../user-modules/url-link.js").UrlLinkConstructor;
476
486
  readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
477
487
  init(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"wechaty-base.d.ts","sourceRoot":"","sources":["../../../../src/wechaty/wechaty-base.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAQnD,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACR,MAAkC,mBAAmB,CAAA;AAWtD,OAAO,EACL,eAAe,EAChB,MAAkC,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAkC,mBAAmB,CAAA;AACtD,OAAO,KAAK,EACV,cAAc,EACf,MAAkC,+BAA+B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoCf;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtBH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtBH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtBH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtBH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAzCF,CAAA;AAED;;;;GAIG;AAaH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,cAAM,WAAY,SAAQ,SAAU,YAAW,YAAY;IAmD9C,SAAS,EAAE,cAAc;IAjDpC,gBAA2B,OAAO,SAAU;IAC5C,QAAQ,CAAC,OAAO,EAAG,gBAAgB,CAAA;IAEnC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAK;IAE/C;;;;;;;;;;;;;;;;;;;OAmBG;IAEH;;;;;;;;;;;;;;;OAeG;IAEH;;;;OAIG;gBAEQ,SAAS,GAAE,cAAmB;IAS1B,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAMvB,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAmBzB,MAAM,IAAK,OAAO,CAAC,IAAI,CAAC;IAgBvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IAEG,GAAG,CACP,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAKV,OAAO,CACX,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;CAYjC;AAED,aAAK,4BAA4B,GAE7B,oBAAoB,GACpB,gCAAgC,GAChC,SAAS,GACT,SAAS,GACT,QAAQ,CAAA;AAEZ,YAAY,EACV,4BAA4B,GAC7B,CAAA;AACD,OAAO,EACL,WAAW,GACZ,CAAA"}
1
+ {"version":3,"file":"wechaty-base.d.ts","sourceRoot":"","sources":["../../../../src/wechaty/wechaty-base.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAQnD,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACR,MAAkC,mBAAmB,CAAA;AAWtD,OAAO,EACL,eAAe,EAChB,MAAkC,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAkC,mBAAmB,CAAA;AACtD,OAAO,KAAK,EACV,cAAc,EACf,MAAkC,+BAA+B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoCf;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtBH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtBH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtBH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtBH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAzCF,CAAA;AAED;;;;GAIG;AAaH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,cAAM,WAAY,SAAQ,SAAU,YAAW,YAAY;IAmD9C,SAAS,EAAE,cAAc;IAjDpC,gBAA2B,OAAO,SAAU;IAC5C,QAAQ,CAAC,OAAO,EAAG,gBAAgB,CAAA;IAEnC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAK;IAE/C;;;;;;;;;;;;;;;;;;;OAmBG;IAEH;;;;;;;;;;;;;;;OAeG;IAEH;;;;OAIG;gBAEQ,SAAS,GAAE,cAAmB;IAS1B,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAMvB,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAmBzB,MAAM,IAAK,OAAO,CAAC,IAAI,CAAC;IAgBvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IAEG,GAAG,CACP,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAKV,OAAO,CACX,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;CAYjC;AAED,aAAK,4BAA4B,GAE7B,oBAAoB,GACpB,gCAAgC,GAChC,SAAS,GACT,SAAS,GACT,QAAQ,CAAA;AAEZ,YAAY,EACV,4BAA4B,GAC7B,CAAA;AACD,OAAO,EACL,WAAW,GACZ,CAAA"}
@@ -22,6 +22,7 @@ const wechaty_impl_js_1 = require("./wechaty-impl.js");
22
22
  Room;
23
23
  RoomInvitation;
24
24
  Tag;
25
+ TagGroup;
25
26
  UrlLink;
26
27
  Channel;
27
28
  constructor() {
@@ -39,9 +40,10 @@ const wechaty_impl_js_1 = require("./wechaty-impl.js");
39
40
  = this.Room
40
41
  = this.RoomInvitation
41
42
  = this.Tag
42
- = this.UrlLink
43
- = this.Channel
44
- = {};
43
+ = this.TagGroup
44
+ = this.UrlLink
45
+ = this.Channel
46
+ = {};
45
47
  }
46
48
  }
47
49
  const WechatyTest = WechatyImplementation;
@@ -1 +1 @@
1
- {"version":3,"file":"wechaty-impl.spec.js","sourceRoot":"","sources":["../../../../src/wechaty/wechaty-impl.spec.ts"],"names":[],"mappings":";;;;;;AACA,mCAA6B;AAC7B,oFAAkD;AAElD,oEAAkE;AAoBlE,uDAMgD;AAEhD,IAAA,aAAI,EAAC,mBAAmB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClC,MAAe,qBAAsB,SAAQ,uCAAmB;QAE9D,OAAO,CAA4B;QACnC,WAAW,CAA4B;QACvC,KAAK,CAA4B;QACjC,UAAU,CAA4B;QACtC,KAAK,CAA4B;QACjC,QAAQ,CAA4B;QACpC,OAAO,CAA4B;QACnC,WAAW,CAA4B;QACvC,IAAI,CAA4B;QAChC,IAAI,CAA4B;QAChC,cAAc,CAA4B;QAC1C,GAAG,CAA4B;QAC/B,OAAO,CAA4B;QACnC,OAAO,CAA4B;QAEnC;YACE,KAAK,EAAE,CAAA;YACP,cAAc;YACd,IAAI,CAAC,OAAO;kBACR,IAAI,CAAC,WAAW;sBAChB,IAAI,CAAC,KAAK;0BACV,IAAI,CAAC,UAAU;8BACf,IAAI,CAAC,KAAK;kCACV,IAAI,CAAC,QAAQ;sCACb,IAAI,CAAC,OAAO;0CACZ,IAAI,CAAC,WAAW;8CAChB,IAAI,CAAC,IAAI;kDACT,IAAI,CAAC,IAAI;sDACT,IAAI,CAAC,cAAc;0DACnB,IAAI,CAAC,GAAG;8DACR,IAAI,CAAC,OAAO;kEACZ,IAAI,CAAC,OAAO;sEACZ,EAAS,CAAA;QACf,CAAC;KAyBF;IAED,MAAM,WAAW,GAAG,qBAAsD,CAAA;IAC1E,MAAM,CAAC,GAAqB,IAAI,WAAW,EAAE,CAAA;IAC7C,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAqB,EAAE,EAAE;QACxC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,EAAE,CAAC,OAAO,qBAAqB,EAAE,wBAAwB,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,qBAAqB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAIpC,MAAM,SAAS,GAAiB,IAAI,CAAA;IACpC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,8DAA8D,CAAC,CAAA;AACjF,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,+BAA+B,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC9C,MAAM,MAAM,GAAI,IAAI,6BAAU,EAAS,CAAA;IACvC,MAAM,OAAO,GAAG,IAAI,6BAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAA;IAEtF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,yDAAyD,CAAC,CAAA;IAC/F,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAA;AACpF,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"wechaty-impl.spec.js","sourceRoot":"","sources":["../../../../src/wechaty/wechaty-impl.spec.ts"],"names":[],"mappings":";;;;;;AACA,mCAA6B;AAC7B,oFAAkD;AAElD,oEAAkE;AAqBlE,uDAMgD;AAEhD,IAAA,aAAI,EAAC,mBAAmB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClC,MAAe,qBAAsB,SAAQ,uCAAmB;QAE9D,OAAO,CAA4B;QACnC,WAAW,CAA4B;QACvC,KAAK,CAA4B;QACjC,UAAU,CAA4B;QACtC,KAAK,CAA4B;QACjC,QAAQ,CAA4B;QACpC,OAAO,CAA4B;QACnC,WAAW,CAA4B;QACvC,IAAI,CAA4B;QAChC,IAAI,CAA4B;QAChC,cAAc,CAA4B;QAC1C,GAAG,CAA4B;QAC/B,QAAQ,CAA4B;QACpC,OAAO,CAA4B;QACnC,OAAO,CAA4B;QAEnC;YACE,KAAK,EAAE,CAAA;YACP,cAAc;YACd,IAAI,CAAC,OAAO;kBACR,IAAI,CAAC,WAAW;sBAChB,IAAI,CAAC,KAAK;0BACV,IAAI,CAAC,UAAU;8BACf,IAAI,CAAC,KAAK;kCACV,IAAI,CAAC,QAAQ;sCACb,IAAI,CAAC,OAAO;0CACZ,IAAI,CAAC,WAAW;8CAChB,IAAI,CAAC,IAAI;kDACT,IAAI,CAAC,IAAI;sDACT,IAAI,CAAC,cAAc;0DACnB,IAAI,CAAC,GAAG;8DACR,IAAI,CAAC,QAAQ;kEACb,IAAI,CAAC,OAAO;sEACZ,IAAI,CAAC,OAAO;0EACZ,EAAS,CAAA;QACf,CAAC;KAyBF;IAED,MAAM,WAAW,GAAG,qBAAsD,CAAA;IAC1E,MAAM,CAAC,GAAqB,IAAI,WAAW,EAAE,CAAA;IAC7C,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAqB,EAAE,EAAE;QACxC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,EAAE,CAAC,OAAO,qBAAqB,EAAE,wBAAwB,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,qBAAqB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAIpC,MAAM,SAAS,GAAiB,IAAI,CAAA;IACpC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,8DAA8D,CAAC,CAAA;AACjF,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,+BAA+B,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC9C,MAAM,MAAM,GAAI,IAAI,6BAAU,EAAS,CAAA;IACvC,MAAM,OAAO,GAAG,IAAI,6BAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAA;IAEtF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,yDAAyD,CAAC,CAAA;IAC/F,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAA;AACpF,CAAC,CAAC,CAAA"}