@juzi/wechaty 1.0.23 → 1.0.26
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/config.d.ts +2 -0
- package/dist/cjs/src/config.d.ts.map +1 -1
- package/dist/cjs/src/config.js +3 -1
- package/dist/cjs/src/config.js.map +1 -1
- package/dist/cjs/src/package-json.js +4 -4
- package/dist/cjs/src/pure-functions/update.d.ts +1 -0
- package/dist/cjs/src/pure-functions/update.d.ts.map +1 -1
- package/dist/cjs/src/pure-functions/update.js +12 -1
- package/dist/cjs/src/pure-functions/update.js.map +1 -1
- package/dist/cjs/src/schemas/wechaty-events.d.ts +8 -2
- package/dist/cjs/src/schemas/wechaty-events.d.ts.map +1 -1
- package/dist/cjs/src/schemas/wechaty-events.js.map +1 -1
- package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact.js +7 -20
- package/dist/cjs/src/user-modules/contact.js.map +1 -1
- package/dist/cjs/src/user-modules/tag-group.d.ts +55 -20
- package/dist/cjs/src/user-modules/tag-group.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/tag-group.js +113 -44
- package/dist/cjs/src/user-modules/tag-group.js.map +1 -1
- package/dist/cjs/src/user-modules/tag.d.ts +58 -24
- package/dist/cjs/src/user-modules/tag.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/tag.js +142 -51
- package/dist/cjs/src/user-modules/tag.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 +32 -6
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +92 -10
- 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/config.d.ts +2 -0
- package/dist/esm/src/config.d.ts.map +1 -1
- package/dist/esm/src/config.js +2 -0
- package/dist/esm/src/config.js.map +1 -1
- package/dist/esm/src/package-json.js +4 -4
- package/dist/esm/src/pure-functions/update.d.ts +1 -0
- package/dist/esm/src/pure-functions/update.d.ts.map +1 -1
- package/dist/esm/src/pure-functions/update.js +10 -0
- package/dist/esm/src/pure-functions/update.js.map +1 -1
- package/dist/esm/src/schemas/wechaty-events.d.ts +8 -2
- package/dist/esm/src/schemas/wechaty-events.d.ts.map +1 -1
- package/dist/esm/src/schemas/wechaty-events.js.map +1 -1
- package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact.js +7 -20
- package/dist/esm/src/user-modules/contact.js.map +1 -1
- package/dist/esm/src/user-modules/tag-group.d.ts +55 -20
- package/dist/esm/src/user-modules/tag-group.d.ts.map +1 -1
- package/dist/esm/src/user-modules/tag-group.js +114 -45
- package/dist/esm/src/user-modules/tag-group.js.map +1 -1
- package/dist/esm/src/user-modules/tag.d.ts +58 -24
- package/dist/esm/src/user-modules/tag.d.ts.map +1 -1
- package/dist/esm/src/user-modules/tag.js +120 -52
- package/dist/esm/src/user-modules/tag.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 +32 -6
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js +94 -12
- 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 +3 -3
- package/src/config.ts +3 -0
- package/src/package-json.ts +4 -4
- package/src/pure-functions/update.ts +11 -0
- package/src/schemas/wechaty-events.ts +7 -0
- package/src/user-modules/contact.ts +7 -20
- package/src/user-modules/tag-group.ts +147 -53
- package/src/user-modules/tag.ts +126 -58
- package/src/wechaty-mixins/puppet-mixin.ts +106 -12
|
@@ -18,49 +18,84 @@
|
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
20
20
|
import type * as PUPPET from '@juzi/wechaty-puppet';
|
|
21
|
+
import type { TagGroupQueryFilter } from '@juzi/wechaty-puppet/dist/esm/src/schemas/tag.js';
|
|
21
22
|
import type { Constructor } from 'clone-class';
|
|
22
23
|
import type { TagInterface } from './tag.js';
|
|
23
|
-
declare const
|
|
24
|
+
declare const MixinBase: ((abstract new (...args: any[]) => {
|
|
24
25
|
readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
|
|
25
26
|
}) & {
|
|
26
27
|
readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
|
|
27
|
-
}) & {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
}) & ((abstract new (...args: any[]) => {}) & {
|
|
29
|
+
_pool?: Map<string, TagGroupImplInterface> | undefined;
|
|
30
|
+
readonly pool: Map<string, TagGroupImplInterface>;
|
|
31
|
+
load<L extends import("clone-class/dist/esm/src/constructor.js").ClassInterface<{}> & {
|
|
32
|
+
new (...args: any[]): TagGroupImplInterface;
|
|
33
|
+
prototype: TagGroupImplInterface;
|
|
34
|
+
} & import("../user-mixins/poolify.js").PoolifyMixin<TagGroupImplInterface>>(this: L, id: string): TagGroupImplInterface;
|
|
35
|
+
}) & ObjectConstructor;
|
|
36
|
+
declare class TagGroupMixin extends MixinBase {
|
|
37
|
+
readonly id: string;
|
|
32
38
|
/**
|
|
33
39
|
*
|
|
34
|
-
*
|
|
40
|
+
* Instance properties
|
|
41
|
+
* @ignore
|
|
35
42
|
*
|
|
36
43
|
*/
|
|
37
|
-
|
|
44
|
+
payload?: PUPPET.payloads.TagGroup;
|
|
38
45
|
/**
|
|
39
46
|
* @hideconstructor
|
|
40
47
|
*/
|
|
41
|
-
constructor(
|
|
42
|
-
id(): string;
|
|
48
|
+
constructor(id: string);
|
|
43
49
|
name(): string;
|
|
44
|
-
|
|
45
|
-
static list(forceSync?: boolean): Promise<TagGroupInterface[]>;
|
|
46
|
-
static sync(): Promise<void>;
|
|
47
|
-
static load(tagGroupId: string): TagGroupInterface | undefined;
|
|
50
|
+
static list(): Promise<TagGroupInterface[]>;
|
|
48
51
|
static createTagGroup(name: string): Promise<TagGroupInterface | void>;
|
|
49
52
|
static deleteTagGroup(tagGroup: TagGroupInterface): Promise<TagGroupInterface | void>;
|
|
50
53
|
tags(): Promise<TagInterface[]>;
|
|
54
|
+
static find(filter: TagGroupQueryFilter): Promise<TagGroupInterface | undefined>;
|
|
55
|
+
/**
|
|
56
|
+
* Force reload data for TagGroup, Sync data from low-level API again.
|
|
57
|
+
*
|
|
58
|
+
* @returns {Promise<this>}
|
|
59
|
+
* @example
|
|
60
|
+
* await tagGroup.sync()
|
|
61
|
+
*/
|
|
62
|
+
sync(): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* @ignore
|
|
65
|
+
*/
|
|
66
|
+
isReady(): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* `ready()` is For FrameWork ONLY!
|
|
69
|
+
*
|
|
70
|
+
* Please not to use `ready()` at the user land.
|
|
71
|
+
* If you want to sync data, use `sync()` instead.
|
|
72
|
+
*
|
|
73
|
+
* @ignore
|
|
74
|
+
*/
|
|
75
|
+
ready(forceSync?: boolean): Promise<void>;
|
|
51
76
|
toString(): string;
|
|
52
77
|
}
|
|
78
|
+
declare const TagGroupImplBase_base: {
|
|
79
|
+
new (...args: any[]): {};
|
|
80
|
+
valid: (o: any) => o is TagGroupImplInterface;
|
|
81
|
+
validInstance: (target: any) => target is TagGroupMixin;
|
|
82
|
+
validInterface: (target: any) => target is TagGroupImplInterface;
|
|
83
|
+
} & typeof TagGroupMixin;
|
|
84
|
+
declare class TagGroupImplBase extends TagGroupImplBase_base {
|
|
85
|
+
}
|
|
86
|
+
interface TagGroupImplInterface extends TagGroupImplBase {
|
|
87
|
+
}
|
|
88
|
+
declare type TagGroupProtectedProperty = 'ready';
|
|
89
|
+
declare type TagGroupInterface = Omit<TagGroupImplInterface, TagGroupProtectedProperty>;
|
|
53
90
|
declare const TagGroupImpl_base: {
|
|
54
91
|
new (...args: any[]): {};
|
|
55
92
|
valid: (o: any) => o is TagGroupInterface;
|
|
56
|
-
validInstance: (target: any) => target is
|
|
93
|
+
validInstance: (target: any) => target is TagGroupImplBase;
|
|
57
94
|
validInterface: (target: any) => target is TagGroupInterface;
|
|
58
|
-
} & typeof
|
|
95
|
+
} & typeof TagGroupImplBase;
|
|
59
96
|
declare class TagGroupImpl extends TagGroupImpl_base {
|
|
60
97
|
}
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
declare type TagGroupConstructor = Constructor<TagGroupInterface, typeof TagGroupImpl>;
|
|
64
|
-
export type { TagGroupConstructor, TagGroupInterface, };
|
|
98
|
+
declare type TagGroupConstructor = Constructor<TagGroupImplInterface, Omit<typeof TagGroupImpl, 'load'>>;
|
|
99
|
+
export type { TagGroupConstructor, TagGroupProtectedProperty, TagGroupInterface, };
|
|
65
100
|
export { TagGroupImpl, };
|
|
66
101
|
//# sourceMappingURL=tag-group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"tag-group.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAA;AAE3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAS9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,QAAA,MAAM,SAAS;;;;;;;;;;;sBAId,CAAA;AAED,cAAM,aAAc,SAAQ,SAAS;aAcjB,EAAE,EAAE,MAAM;IAZ5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;IAElC;;OAEG;gBAEe,EAAE,EAAE,MAAM;IAM5B,IAAI,IAAK,MAAM;WAIF,IAAI,IAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC;WA2BrC,cAAc,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;WAehE,cAAc,CAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAWtF,IAAI,IAAK,OAAO,CAAC,YAAY,EAAE,CAAC;WA0BzB,IAAI,CAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA0BvF;;;;;;OAMG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,OAAO,IAAK,OAAO;IAInB;;;;;;;OAOG;IACG,KAAK,CACT,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAoBP,QAAQ;CAIlB;;;;;;;AAED,cAAM,gBAAiB,SAAQ,qBAAuD;CAAI;AAC1F,UAAU,qBAAsB,SAAQ,gBAAgB;CAAI;AAE5D,aAAK,yBAAyB,GAC1B,OAAO,CAAA;AAEX,aAAK,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAA;;;;;;;AAC/E,cAAM,YAAa,SAAQ,iBAAsD;CAAI;AAErF,aAAK,mBAAmB,GAAG,WAAW,CACpC,qBAAqB,EACrB,IAAI,CAAC,OAAO,YAAY,EAAE,MAAM,CAAC,CAClC,CAAA;AAED,YAAY,EACV,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,GAClB,CAAA;AACD,OAAO,EACL,YAAY,GACb,CAAA"}
|
|
@@ -1,41 +1,43 @@
|
|
|
1
|
+
import { concurrencyExecuter } from 'rx-queue';
|
|
1
2
|
import { log } from '../config.js';
|
|
3
|
+
import { poolifyMixin } from '../user-mixins/poolify.js';
|
|
2
4
|
import { validationMixin } from '../user-mixins/validation.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
import { wechatifyMixin, } from '../user-mixins/wechatify.js';
|
|
6
|
+
const MixinBase = wechatifyMixin(poolifyMixin(Object)());
|
|
7
|
+
class TagGroupMixin extends MixinBase {
|
|
8
|
+
id;
|
|
6
9
|
/**
|
|
7
10
|
*
|
|
8
|
-
*
|
|
11
|
+
* Instance properties
|
|
12
|
+
* @ignore
|
|
9
13
|
*
|
|
10
14
|
*/
|
|
11
|
-
|
|
12
|
-
log.verbose('TagGroup', 'create()');
|
|
13
|
-
return new this(payload);
|
|
14
|
-
}
|
|
15
|
+
payload;
|
|
15
16
|
/**
|
|
16
17
|
* @hideconstructor
|
|
17
18
|
*/
|
|
18
|
-
constructor(
|
|
19
|
+
constructor(id) {
|
|
19
20
|
super();
|
|
20
|
-
this.
|
|
21
|
+
this.id = id;
|
|
21
22
|
log.silly('TagGroup', 'constructor()');
|
|
22
23
|
}
|
|
23
|
-
id() {
|
|
24
|
-
return this.payload.id;
|
|
25
|
-
}
|
|
26
24
|
name() {
|
|
27
|
-
return this.payload.name;
|
|
25
|
+
return (this.payload && this.payload.name) || '';
|
|
28
26
|
}
|
|
29
|
-
static
|
|
30
|
-
|
|
31
|
-
log.verbose('TagGroup', 'list(%s)', forceSync);
|
|
32
|
-
if (this.pool.length > 0 && !forceSync) {
|
|
33
|
-
return this.pool;
|
|
34
|
-
}
|
|
27
|
+
static async list() {
|
|
28
|
+
log.verbose('TagGroup', 'list()');
|
|
35
29
|
try {
|
|
36
|
-
const
|
|
37
|
-
this.
|
|
38
|
-
|
|
30
|
+
const tagGroupIds = await this.wechaty.puppet.tagGroupList();
|
|
31
|
+
const idToTagGroup = async (id) => this.find({ id }).catch(e => this.wechaty.emitError(e));
|
|
32
|
+
const CONCURRENCY = 17;
|
|
33
|
+
const tagGroupIterator = concurrencyExecuter(CONCURRENCY)(idToTagGroup)(tagGroupIds);
|
|
34
|
+
const tagGroupList = [];
|
|
35
|
+
for await (const tagGroup of tagGroupIterator) {
|
|
36
|
+
if (tagGroup) {
|
|
37
|
+
tagGroupList.push(tagGroup);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return tagGroupList;
|
|
39
41
|
}
|
|
40
42
|
catch (e) {
|
|
41
43
|
this.wechaty.emitError(e);
|
|
@@ -43,26 +45,12 @@ class TagGroupMixin extends wechatifyMixinBase() {
|
|
|
43
45
|
return [];
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
|
-
static async sync() {
|
|
47
|
-
log.verbose('TagGroup', 'sync()');
|
|
48
|
-
await this.list(true);
|
|
49
|
-
}
|
|
50
|
-
static load(tagGroupId) {
|
|
51
|
-
log.verbose('TagGroup', 'load(%s)', tagGroupId);
|
|
52
|
-
for (const item of this.pool) {
|
|
53
|
-
if (item.id() === tagGroupId) {
|
|
54
|
-
return item;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return undefined;
|
|
58
|
-
}
|
|
59
48
|
static async createTagGroup(name) {
|
|
60
49
|
log.verbose('TagGroup', 'createTagGroup(%s, %s)', name);
|
|
61
50
|
try {
|
|
62
|
-
const
|
|
63
|
-
if (
|
|
64
|
-
const newTagGroup =
|
|
65
|
-
this.pool.push(newTagGroup);
|
|
51
|
+
const groupId = await this.wechaty.puppet.tagGroupAdd(name);
|
|
52
|
+
if (groupId) {
|
|
53
|
+
const newTagGroup = await this.find({ id: groupId });
|
|
66
54
|
return newTagGroup;
|
|
67
55
|
}
|
|
68
56
|
}
|
|
@@ -74,8 +62,7 @@ class TagGroupMixin extends wechatifyMixinBase() {
|
|
|
74
62
|
static async deleteTagGroup(tagGroup) {
|
|
75
63
|
log.verbose('TagGroup', 'deleteTagGroup(%s)', tagGroup);
|
|
76
64
|
try {
|
|
77
|
-
await this.wechaty.puppet.tagGroupDelete(tagGroup.id
|
|
78
|
-
this.pool.splice(this.pool.indexOf(tagGroup), 1);
|
|
65
|
+
await this.wechaty.puppet.tagGroupDelete(tagGroup.id);
|
|
79
66
|
}
|
|
80
67
|
catch (e) {
|
|
81
68
|
this.wechaty.emitError(e);
|
|
@@ -83,13 +70,95 @@ class TagGroupMixin extends wechatifyMixinBase() {
|
|
|
83
70
|
}
|
|
84
71
|
}
|
|
85
72
|
async tags() {
|
|
86
|
-
|
|
73
|
+
log.verbose('TagGroup', 'tags(%s)', this);
|
|
74
|
+
try {
|
|
75
|
+
const tagIdList = await this.wechaty.puppet.tagGroupTagList(this.id);
|
|
76
|
+
const idToTag = async (tagId) => this.wechaty.Tag.find({ id: tagId }).catch(e => this.wechaty.emitError(e));
|
|
77
|
+
const CONCURRENCY = 17;
|
|
78
|
+
const tagIterator = concurrencyExecuter(CONCURRENCY)(idToTag)(tagIdList);
|
|
79
|
+
const tagList = [];
|
|
80
|
+
for await (const tag of tagIterator) {
|
|
81
|
+
if (tag) {
|
|
82
|
+
tagList.push(tag);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return tagList;
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
this.wechaty.emitError(e);
|
|
89
|
+
log.error('TagGroup', 'list() exception: %s', e.message);
|
|
90
|
+
return [];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
static async find(filter) {
|
|
94
|
+
log.silly('TagGroup', 'find(%s)', JSON.stringify(filter));
|
|
95
|
+
if (filter.id) {
|
|
96
|
+
const tagGroup = this.wechaty.TagGroup.load(filter.id);
|
|
97
|
+
try {
|
|
98
|
+
await tagGroup.ready();
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
this.wechaty.emitError(e);
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
return tagGroup;
|
|
105
|
+
}
|
|
106
|
+
if (filter.name) {
|
|
107
|
+
const tagGroups = (await this.wechaty.TagGroup.list()).filter(tagGroup => tagGroup.name() === filter.name);
|
|
108
|
+
if (tagGroups.length > 0) {
|
|
109
|
+
return tagGroups[0];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return undefined;
|
|
113
|
+
// TODO: use a puppet method to find tag, like how contact and room do it
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Force reload data for TagGroup, Sync data from low-level API again.
|
|
117
|
+
*
|
|
118
|
+
* @returns {Promise<this>}
|
|
119
|
+
* @example
|
|
120
|
+
* await tagGroup.sync()
|
|
121
|
+
*/
|
|
122
|
+
async sync() {
|
|
123
|
+
await this.wechaty.puppet.tagGroupPayloadDirty(this.id);
|
|
124
|
+
await this.ready(true);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* @ignore
|
|
128
|
+
*/
|
|
129
|
+
isReady() {
|
|
130
|
+
return !!(this.payload);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* `ready()` is For FrameWork ONLY!
|
|
134
|
+
*
|
|
135
|
+
* Please not to use `ready()` at the user land.
|
|
136
|
+
* If you want to sync data, use `sync()` instead.
|
|
137
|
+
*
|
|
138
|
+
* @ignore
|
|
139
|
+
*/
|
|
140
|
+
async ready(forceSync = false) {
|
|
141
|
+
log.silly('TagGroup', 'ready() @ %s with TagGroup="%s"', this.wechaty.puppet, this.id);
|
|
142
|
+
if (!forceSync && this.isReady()) { // already ready
|
|
143
|
+
log.silly('TagGroup', 'ready() isReady() true');
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
this.payload = await this.wechaty.puppet.tagGroupPayload(this.id);
|
|
148
|
+
}
|
|
149
|
+
catch (e) {
|
|
150
|
+
this.wechaty.emitError(e);
|
|
151
|
+
log.verbose('TagGroup', 'ready() this.wechaty.puppet.tagGroupPayload(%s) exception: %s', this.id, e.message);
|
|
152
|
+
throw e;
|
|
153
|
+
}
|
|
87
154
|
}
|
|
88
155
|
toString() {
|
|
89
|
-
return `<TagGroup#${this.name() || this.id
|
|
156
|
+
return `<TagGroup#${this.name() || this.id}>`;
|
|
90
157
|
}
|
|
91
158
|
}
|
|
92
|
-
class
|
|
159
|
+
class TagGroupImplBase extends validationMixin(TagGroupMixin)() {
|
|
160
|
+
}
|
|
161
|
+
class TagGroupImpl extends validationMixin(TagGroupImplBase)() {
|
|
93
162
|
}
|
|
94
163
|
export { TagGroupImpl, };
|
|
95
164
|
//# sourceMappingURL=tag-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-group.js","sourceRoot":"","sources":["../../../../src/user-modules/tag-group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag-group.js","sourceRoot":"","sources":["../../../../src/user-modules/tag-group.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,56 +17,90 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
20
|
-
import
|
|
21
|
-
import type {
|
|
20
|
+
import * as PUPPET from '@juzi/wechaty-puppet';
|
|
21
|
+
import type { TagQueryFilter } from '@juzi/wechaty-puppet/dist/esm/src/schemas/tag.js';
|
|
22
22
|
import type { Constructor } from 'clone-class';
|
|
23
23
|
import type { ContactInterface } from './contact.js';
|
|
24
24
|
import type { TagGroupInterface } from './tag-group.js';
|
|
25
|
-
declare const
|
|
25
|
+
declare const MixinBase: ((abstract new (...args: any[]) => {
|
|
26
26
|
readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
|
|
27
27
|
}) & {
|
|
28
28
|
readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
|
|
29
|
-
}) & {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
}) & ((abstract new (...args: any[]) => {}) & {
|
|
30
|
+
_pool?: Map<string, TagImplInterface> | undefined;
|
|
31
|
+
readonly pool: Map<string, TagImplInterface>;
|
|
32
|
+
load<L extends import("clone-class/dist/esm/src/constructor.js").ClassInterface<{}> & {
|
|
33
|
+
new (...args: any[]): TagImplInterface;
|
|
34
|
+
prototype: TagImplInterface;
|
|
35
|
+
} & import("../user-mixins/poolify.js").PoolifyMixin<TagImplInterface>>(this: L, id: string): TagImplInterface;
|
|
36
|
+
}) & ObjectConstructor;
|
|
37
|
+
declare class TagMixin extends MixinBase {
|
|
38
|
+
readonly id: string;
|
|
34
39
|
/**
|
|
35
40
|
*
|
|
36
|
-
*
|
|
41
|
+
* Instance properties
|
|
42
|
+
* @ignore
|
|
37
43
|
*
|
|
38
44
|
*/
|
|
39
|
-
|
|
45
|
+
payload?: PUPPET.payloads.Tag;
|
|
40
46
|
/**
|
|
41
47
|
* @hideconstructor
|
|
42
48
|
*/
|
|
43
|
-
constructor(
|
|
44
|
-
id(): string;
|
|
49
|
+
constructor(id: string);
|
|
45
50
|
type(): PUPPET.types.Tag;
|
|
46
|
-
groupId(): string;
|
|
47
51
|
name(): string;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
static list(
|
|
51
|
-
static
|
|
52
|
-
|
|
52
|
+
groupId(): string;
|
|
53
|
+
group(): Promise<TagGroupInterface | undefined>;
|
|
54
|
+
static list(): Promise<TagInterface[]>;
|
|
55
|
+
static find(filter: TagQueryFilter): Promise<TagInterface | undefined>;
|
|
56
|
+
/**
|
|
57
|
+
* Force reload data for Tag, Sync data from low-level API again.
|
|
58
|
+
*
|
|
59
|
+
* @returns {Promise<this>}
|
|
60
|
+
* @example
|
|
61
|
+
* await tag.sync()
|
|
62
|
+
*/
|
|
63
|
+
sync(): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* @ignore
|
|
66
|
+
*/
|
|
67
|
+
isReady(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* `ready()` is For FrameWork ONLY!
|
|
70
|
+
*
|
|
71
|
+
* Please not to use `ready()` at the user land.
|
|
72
|
+
* If you want to sync data, use `sync()` instead.
|
|
73
|
+
*
|
|
74
|
+
* @ignore
|
|
75
|
+
*/
|
|
76
|
+
ready(forceSync?: boolean): Promise<void>;
|
|
53
77
|
contactList(): Promise<ContactInterface[]>;
|
|
54
78
|
tag(contacts: ContactInterface | ContactInterface[]): Promise<void>;
|
|
55
79
|
static createTag(name: string, tagGroup?: TagGroupInterface): Promise<TagInterface | void>;
|
|
56
80
|
static deleteTag(tagInstance: TagInterface): Promise<void>;
|
|
57
81
|
toString(): string;
|
|
58
82
|
}
|
|
83
|
+
declare const TagImplBase_base: {
|
|
84
|
+
new (...args: any[]): {};
|
|
85
|
+
valid: (o: any) => o is TagImplInterface;
|
|
86
|
+
validInstance: (target: any) => target is TagMixin;
|
|
87
|
+
validInterface: (target: any) => target is TagImplInterface;
|
|
88
|
+
} & typeof TagMixin;
|
|
89
|
+
declare class TagImplBase extends TagImplBase_base {
|
|
90
|
+
}
|
|
91
|
+
interface TagImplInterface extends TagImplBase {
|
|
92
|
+
}
|
|
93
|
+
declare type TagProtectedProperty = 'ready';
|
|
94
|
+
declare type TagInterface = Omit<TagImplInterface, TagProtectedProperty>;
|
|
59
95
|
declare const TagImpl_base: {
|
|
60
96
|
new (...args: any[]): {};
|
|
61
97
|
valid: (o: any) => o is TagInterface;
|
|
62
|
-
validInstance: (target: any) => target is
|
|
98
|
+
validInstance: (target: any) => target is TagImplBase;
|
|
63
99
|
validInterface: (target: any) => target is TagInterface;
|
|
64
|
-
} & typeof
|
|
100
|
+
} & typeof TagImplBase;
|
|
65
101
|
declare class TagImpl extends TagImpl_base {
|
|
66
102
|
}
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
declare type TagConstructor = Constructor<TagInterface, typeof TagImpl>;
|
|
70
|
-
export type { TagConstructor, TagInterface, };
|
|
103
|
+
declare type TagConstructor = Constructor<TagImplInterface, Omit<typeof TagImpl, 'load'>>;
|
|
104
|
+
export type { TagConstructor, TagProtectedProperty, TagInterface, };
|
|
71
105
|
export { TagImpl, };
|
|
72
106
|
//# sourceMappingURL=tag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAS9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,QAAA,MAAM,SAAS;;;;;;;;;;;sBAId,CAAA;AAED,cAAM,QAAS,SAAQ,SAAS;aAcZ,EAAE,EAAE,MAAM;IAZ5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAA;IAE7B;;OAEG;gBAEe,EAAE,EAAE,MAAM;IAM5B,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,GAAG;IAIzB,IAAI,IAAK,MAAM;IAIf,OAAO,IAAK,MAAM;IAIZ,KAAK,IAAK,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;WAIzC,IAAI,IAAK,OAAO,CAAC,YAAY,EAAE,CAAC;WA2BhC,IAAI,CAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IA0B7E;;;;;;OAMG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,OAAO,IAAK,OAAO;IAInB;;;;;;;OAOG;IACG,KAAK,CACT,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAqBV,WAAW,IAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ3C,GAAG,CAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAY7D,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;WAepF,SAAS,CAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxD,QAAQ;CAIlB;;;;;;;AAED,cAAM,WAAY,SAAQ,gBAA6C;CAAG;AAC1E,UAAU,gBAAiB,SAAQ,WAAW;CAAG;AAEjD,aAAK,oBAAoB,GACrB,OAAO,CAAA;AAEX,aAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;;;;;;;AAChE,cAAM,OAAQ,SAAQ,YAA4C;CAAG;AAErE,aAAK,cAAc,GAAG,WAAW,CAC/B,gBAAgB,EAChB,IAAI,CAAC,OAAO,OAAO,EAAE,MAAM,CAAC,CAC7B,CAAA;AAED,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,GACb,CAAA;AACD,OAAO,EACL,OAAO,GACR,CAAA"}
|