@juzi/wechaty-puppet-service 1.0.122 → 1.0.124
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/client/grpc-manager.d.ts +1 -0
- package/dist/cjs/src/client/grpc-manager.d.ts.map +1 -1
- package/dist/cjs/src/client/grpc-manager.js +49 -47
- package/dist/cjs/src/client/grpc-manager.js.map +1 -1
- package/dist/cjs/src/client/payload-store.d.ts +3 -0
- package/dist/cjs/src/client/payload-store.d.ts.map +1 -1
- package/dist/cjs/src/client/payload-store.js +8 -6
- package/dist/cjs/src/client/payload-store.js.map +1 -1
- package/dist/cjs/src/client/puppet-service.d.ts +14 -0
- package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
- package/dist/cjs/src/client/puppet-service.js +284 -219
- package/dist/cjs/src/client/puppet-service.js.map +1 -1
- package/dist/cjs/src/package-json.d.ts.map +1 -1
- package/dist/cjs/src/package-json.js +4 -3
- package/dist/cjs/src/package-json.js.map +1 -1
- package/dist/cjs/tests/fast-dirty-room-member.spec.js +123 -21
- package/dist/cjs/tests/fast-dirty-room-member.spec.js.map +1 -1
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.js +135 -0
- package/dist/cjs/tests/grpc-stream-dirty-order.spec.js.map +1 -0
- package/dist/esm/src/client/grpc-manager.d.ts +1 -0
- package/dist/esm/src/client/grpc-manager.d.ts.map +1 -1
- package/dist/esm/src/client/grpc-manager.js +50 -48
- package/dist/esm/src/client/grpc-manager.js.map +1 -1
- package/dist/esm/src/client/payload-store.d.ts +3 -0
- package/dist/esm/src/client/payload-store.d.ts.map +1 -1
- package/dist/esm/src/client/payload-store.js +8 -6
- package/dist/esm/src/client/payload-store.js.map +1 -1
- package/dist/esm/src/client/puppet-service.d.ts +14 -0
- package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
- package/dist/esm/src/client/puppet-service.js +284 -219
- package/dist/esm/src/client/puppet-service.js.map +1 -1
- package/dist/esm/src/package-json.d.ts.map +1 -1
- package/dist/esm/src/package-json.js +4 -3
- package/dist/esm/src/package-json.js.map +1 -1
- package/dist/esm/tests/fast-dirty-room-member.spec.js +123 -21
- package/dist/esm/tests/fast-dirty-room-member.spec.js.map +1 -1
- package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts +3 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.d.ts.map +1 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.js +110 -0
- package/dist/esm/tests/grpc-stream-dirty-order.spec.js.map +1 -0
- package/package.json +4 -3
- package/src/client/grpc-manager.ts +54 -48
- package/src/client/payload-store.ts +13 -7
- package/src/client/puppet-service.ts +283 -220
- package/src/package-json.ts +4 -3
|
@@ -33,10 +33,13 @@ import {
|
|
|
33
33
|
} from '../config.js'
|
|
34
34
|
import { WECHATY_PUPPET_SERVICE_DISABLE_EVENT_CACHE } from '../env-vars.js'
|
|
35
35
|
|
|
36
|
+
type LoggerLike = PUPPET.LoggerLike
|
|
37
|
+
|
|
36
38
|
const { major, minor } = semverPkg
|
|
37
39
|
|
|
38
40
|
interface PayloadStoreOptions {
|
|
39
|
-
token: string
|
|
41
|
+
token : string
|
|
42
|
+
logger? : LoggerLike
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
interface StoreRoomMemberPayload {
|
|
@@ -57,8 +60,11 @@ class PayloadStore {
|
|
|
57
60
|
protected storeDir: string
|
|
58
61
|
protected accountId?: string
|
|
59
62
|
|
|
63
|
+
private readonly _log: LoggerLike
|
|
64
|
+
|
|
60
65
|
constructor (private options: PayloadStoreOptions) {
|
|
61
|
-
|
|
66
|
+
this._log = options.logger ?? log
|
|
67
|
+
this._log.verbose('PayloadStore', 'constructor(%s)', JSON.stringify(options))
|
|
62
68
|
|
|
63
69
|
this.storeDir = path.join(
|
|
64
70
|
os.homedir(),
|
|
@@ -67,7 +73,7 @@ class PayloadStore {
|
|
|
67
73
|
this.options.token,
|
|
68
74
|
`v${major(VERSION)}.${minor(VERSION)}`,
|
|
69
75
|
)
|
|
70
|
-
|
|
76
|
+
this._log.silly('PayloadStore', 'constructor() storeDir: "%s"', this.storeDir)
|
|
71
77
|
|
|
72
78
|
if (!fs.existsSync(this.storeDir)) {
|
|
73
79
|
fs.mkdirSync(this.storeDir, { recursive: true })
|
|
@@ -83,7 +89,7 @@ class PayloadStore {
|
|
|
83
89
|
* so that we can save the payloads under a specific account folder.
|
|
84
90
|
*/
|
|
85
91
|
async start (accountId: string): Promise<void> {
|
|
86
|
-
|
|
92
|
+
this._log.verbose('PayloadStore', 'start(%s)', accountId)
|
|
87
93
|
|
|
88
94
|
if (this.accountId) {
|
|
89
95
|
throw new Error('PayloadStore should be stop() before start() again.')
|
|
@@ -112,7 +118,7 @@ class PayloadStore {
|
|
|
112
118
|
*/
|
|
113
119
|
// const lruOptions: LRU.Options<string, MessagePayload> = {
|
|
114
120
|
// dispose (key, val) {
|
|
115
|
-
//
|
|
121
|
+
// this._log.silly('PayloadStore', `constructor() lruOptions.dispose(${key}, ${JSON.stringify(val)})`)
|
|
116
122
|
// },
|
|
117
123
|
// max : 1000, // 1000 messages
|
|
118
124
|
// maxAge : 60 * 60 * 1000, // 1 hour
|
|
@@ -121,7 +127,7 @@ class PayloadStore {
|
|
|
121
127
|
}
|
|
122
128
|
|
|
123
129
|
async stop (): Promise<void> {
|
|
124
|
-
|
|
130
|
+
this._log.verbose('PayloadStore', 'stop()')
|
|
125
131
|
|
|
126
132
|
const contactStore = this.contact
|
|
127
133
|
const roomMemberStore = this.roomMember
|
|
@@ -153,7 +159,7 @@ class PayloadStore {
|
|
|
153
159
|
}
|
|
154
160
|
|
|
155
161
|
async destroy (): Promise<void> {
|
|
156
|
-
|
|
162
|
+
this._log.verbose('PayloadStore', 'destroy()')
|
|
157
163
|
if (this.accountId) {
|
|
158
164
|
throw new Error('Can not destroy() a start()-ed store. Call stop() to stop it first')
|
|
159
165
|
}
|