@pontalabs/baileys 1.0.6 → 1.0.7
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/LICENSE +1 -1
- package/README.md +839 -267
- package/WAProto/GenerateStatics.sh +4 -3
- package/WAProto/WAProto.proto +511 -1215
- package/WAProto/index.d.ts +55 -14017
- package/WAProto/index.js +29 -97689
- package/lib/Defaults/index.d.ts +74 -72
- package/lib/Defaults/index.js +108 -94
- package/lib/Signal/Group/ciphertext-message.d.ts +7 -8
- package/lib/Signal/Group/ciphertext-message.js +16 -9
- package/lib/Signal/Group/group-session-builder.d.ts +13 -11
- package/lib/Signal/Group/group-session-builder.js +61 -19
- package/lib/Signal/Group/group_cipher.d.ts +16 -14
- package/lib/Signal/Group/group_cipher.js +70 -41
- package/lib/Signal/Group/index.d.ts +11 -12
- package/lib/Signal/Group/index.js +61 -12
- package/lib/Signal/Group/keyhelper.d.ts +14 -9
- package/lib/Signal/Group/keyhelper.js +58 -10
- package/lib/Signal/Group/sender-chain-key.d.ts +13 -13
- package/lib/Signal/Group/sender-chain-key.js +34 -13
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -16
- package/lib/Signal/Group/sender-key-distribution-message.js +36 -28
- package/lib/Signal/Group/sender-key-message.d.ts +18 -18
- package/lib/Signal/Group/sender-key-message.js +45 -38
- package/lib/Signal/Group/sender-key-name.d.ts +15 -14
- package/lib/Signal/Group/sender-key-name.js +31 -20
- package/lib/Signal/Group/sender-key-record.d.ts +25 -24
- package/lib/Signal/Group/sender-key-record.js +35 -18
- package/lib/Signal/Group/sender-key-state.d.ts +34 -29
- package/lib/Signal/Group/sender-key-state.js +100 -37
- package/lib/Signal/Group/sender-message-key.d.ts +10 -11
- package/lib/Signal/Group/sender-message-key.js +22 -15
- package/lib/Signal/libsignal.d.ts +8 -5
- package/lib/Signal/libsignal.js +142 -288
- package/lib/Signal/lid-mapping.d.ts +28 -23
- package/lib/Signal/lid-mapping.js +184 -277
- package/lib/Socket/Client/index.d.ts +2 -3
- package/lib/Socket/Client/index.js +22 -3
- package/lib/Socket/Client/types.d.ts +15 -15
- package/lib/Socket/Client/types.js +15 -8
- package/lib/Socket/Client/websocket.d.ts +12 -12
- package/lib/Socket/Client/websocket.js +37 -29
- package/lib/Socket/business.d.ts +178 -208
- package/lib/Socket/business.js +127 -91
- package/lib/Socket/chats.d.ts +93 -120
- package/lib/Socket/chats.js +652 -727
- package/lib/Socket/community.js +10 -2
- package/lib/Socket/groups.d.ts +111 -143
- package/lib/Socket/groups.js +186 -165
- package/lib/Socket/index.d.ts +183 -252
- package/lib/Socket/index.js +18 -38
- package/lib/Socket/messages-recv.d.ts +167 -196
- package/lib/Socket/messages-recv.js +1567 -1443
- package/lib/Socket/messages-send.d.ts +158 -192
- package/lib/Socket/messages-send.js +1208 -1102
- package/lib/Socket/newsletter.d.ts +138 -163
- package/lib/Socket/newsletter.js +249 -153
- package/lib/Socket/socket.d.ts +36 -50
- package/lib/Socket/socket.js +820 -749
- package/lib/Store/index.d.ts +4 -4
- package/lib/Store/index.js +24 -4
- package/lib/Store/make-in-memory-store.d.ts +104 -44
- package/lib/Store/make-in-memory-store.js +213 -199
- package/lib/Store/make-ordered-dictionary.d.ts +12 -13
- package/lib/Store/make-ordered-dictionary.js +45 -38
- package/lib/Store/object-repository.d.ts +10 -11
- package/lib/Store/object-repository.js +16 -9
- package/lib/Types/Auth.d.ts +97 -93
- package/lib/Types/Auth.js +3 -2
- package/lib/Types/Bussines.js +3 -2
- package/lib/Types/Call.d.ts +13 -14
- package/lib/Types/Call.js +3 -2
- package/lib/Types/Chat.d.ts +97 -78
- package/lib/Types/Chat.js +9 -8
- package/lib/Types/Contact.d.ts +9 -12
- package/lib/Types/Contact.js +3 -2
- package/lib/Types/Events.d.ts +176 -206
- package/lib/Types/Events.js +3 -2
- package/lib/Types/GroupMetadata.d.ts +48 -53
- package/lib/Types/GroupMetadata.js +3 -2
- package/lib/Types/Label.d.ts +14 -13
- package/lib/Types/Label.js +30 -24
- package/lib/Types/LabelAssociation.d.ts +20 -15
- package/lib/Types/LabelAssociation.js +12 -6
- package/lib/Types/Message.d.ts +412 -248
- package/lib/Types/Message.js +19 -17
- package/lib/Types/Product.d.ts +71 -58
- package/lib/Types/Product.js +3 -2
- package/lib/Types/Signal.d.ts +82 -71
- package/lib/Types/Signal.js +3 -2
- package/lib/Types/Socket.d.ts +81 -76
- package/lib/Types/Socket.js +3 -3
- package/lib/Types/State.d.ts +19 -75
- package/lib/Types/State.js +14 -56
- package/lib/Types/USync.d.ts +8 -8
- package/lib/Types/USync.js +3 -2
- package/lib/Types/index.d.ts +62 -47
- package/lib/Types/index.js +50 -26
- package/lib/Utils/auth-utils.d.ts +10 -13
- package/lib/Utils/auth-utils.js +472 -213
- package/lib/Utils/business.d.ts +20 -14
- package/lib/Utils/business.js +134 -110
- package/lib/Utils/chat-utils.d.ts +70 -88
- package/lib/Utils/chat-utils.js +403 -466
- package/lib/Utils/crypto.d.ts +46 -27
- package/lib/Utils/crypto.js +188 -117
- package/lib/Utils/decode-wa-message.d.ts +45 -58
- package/lib/Utils/decode-wa-message.js +311 -212
- package/lib/Utils/event-buffer.d.ts +17 -14
- package/lib/Utils/event-buffer.js +296 -321
- package/lib/Utils/generics.d.ts +92 -66
- package/lib/Utils/generics.js +436 -270
- package/lib/Utils/history.d.ts +23 -24
- package/lib/Utils/history.js +76 -106
- package/lib/Utils/index.d.ts +21 -24
- package/lib/Utils/index.js +41 -24
- package/lib/Utils/link-preview.d.ts +14 -12
- package/lib/Utils/link-preview.js +75 -40
- package/lib/Utils/logger.d.ts +11 -10
- package/lib/Utils/logger.js +7 -3
- package/lib/Utils/lt-hash.d.ts +14 -8
- package/lib/Utils/lt-hash.js +53 -3
- package/lib/Utils/make-mutex.d.ts +7 -7
- package/lib/Utils/make-mutex.js +44 -28
- package/lib/Utils/message-retry-manager.d.ts +88 -115
- package/lib/Utils/message-retry-manager.js +160 -265
- package/lib/Utils/messages-media.d.ts +107 -105
- package/lib/Utils/messages-media.js +619 -548
- package/lib/Utils/messages.d.ts +66 -52
- package/lib/Utils/messages.js +1558 -1730
- package/lib/Utils/noise-handler.d.ts +18 -18
- package/lib/Utils/noise-handler.js +130 -176
- package/lib/Utils/process-message.d.ts +32 -43
- package/lib/Utils/process-message.js +282 -484
- package/lib/Utils/rich-message-utils.js +724 -1220
- package/lib/Utils/signal.d.ts +32 -37
- package/lib/Utils/signal.js +105 -140
- package/lib/Utils/use-multi-file-auth-state.d.ts +5 -5
- package/lib/Utils/use-multi-file-auth-state.js +120 -70
- package/lib/Utils/use-single-file-auth-state.d.ts +13 -11
- package/lib/Utils/use-single-file-auth-state.js +66 -92
- package/lib/Utils/validate-connection.d.ts +13 -11
- package/lib/Utils/validate-connection.js +113 -128
- package/lib/WABinary/constants.d.ts +27 -25
- package/lib/WABinary/constants.js +1292 -1451
- package/lib/WABinary/decode.d.ts +9 -7
- package/lib/WABinary/decode.js +189 -163
- package/lib/WABinary/encode.d.ts +3 -3
- package/lib/WABinary/encode.js +155 -110
- package/lib/WABinary/generic-utils.d.ts +27 -14
- package/lib/WABinary/generic-utils.js +105 -177
- package/lib/WABinary/index.d.ts +5 -6
- package/lib/WABinary/index.js +25 -6
- package/lib/WABinary/jid-utils.d.ts +54 -41
- package/lib/WABinary/jid-utils.js +152 -83
- package/lib/WABinary/types.d.ts +13 -10
- package/lib/WABinary/types.js +3 -2
- package/lib/WAM/BinaryInfo.d.ts +15 -8
- package/lib/WAM/BinaryInfo.js +14 -7
- package/lib/WAM/constants.d.ts +37 -30
- package/lib/WAM/constants.js +11983 -19465
- package/lib/WAM/encode.d.ts +3 -3
- package/lib/WAM/encode.js +109 -95
- package/lib/WAM/index.d.ts +3 -4
- package/lib/WAM/index.js +23 -4
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -9
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +21 -37
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -19
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +26 -18
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -11
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +20 -12
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -11
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +24 -16
- package/lib/WAUSync/Protocols/index.d.ts +6 -6
- package/lib/WAUSync/Protocols/index.js +26 -6
- package/lib/WAUSync/USyncQuery.d.ts +28 -27
- package/lib/WAUSync/USyncQuery.js +62 -68
- package/lib/WAUSync/USyncUser.d.ts +10 -15
- package/lib/WAUSync/USyncUser.js +19 -20
- package/lib/WAUSync/index.d.ts +3 -4
- package/lib/WAUSync/index.js +23 -4
- package/lib/index.d.ts +12 -11
- package/lib/index.js +39 -12
- package/package.json +42 -86
- package/engine-requirements.js +0 -10
|
@@ -1,96 +1,165 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
default:
|
|
24
|
-
return initialServer;
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
export const jidEncode = (user, server, device, agent) => {
|
|
28
|
-
return `${user || ''}${!!agent ? `_${agent}` : ''}${!!device ? `:${device}` : ''}@${server}`;
|
|
29
|
-
};
|
|
30
|
-
export const jidDecode = (jid) => {
|
|
31
|
-
// todo: investigate how to implement hosted ids in this case
|
|
32
|
-
const sepIdx = typeof jid === 'string' ? jid.indexOf('@') : -1;
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true })
|
|
4
|
+
|
|
5
|
+
const S_WHATSAPP_NET = '@s.whatsapp.net'
|
|
6
|
+
|
|
7
|
+
const OFFICIAL_BIZ_JID = '16505361212@c.us'
|
|
8
|
+
|
|
9
|
+
const SERVER_JID = 'server@c.us'
|
|
10
|
+
|
|
11
|
+
const PSA_WID = '0@c.us'
|
|
12
|
+
|
|
13
|
+
const STORIES_JID = 'status@broadcast'
|
|
14
|
+
|
|
15
|
+
const META_AI_JID = '13135550002@c.us'
|
|
16
|
+
|
|
17
|
+
const jidEncode = (user, server, device, agent) => {
|
|
18
|
+
return `${user || ''}${!!agent ? `_${agent}` : ''}${!!device ? `:${device}` : ''}@${server}`
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const jidDecode = (jid) => {
|
|
22
|
+
const sepIdx = typeof jid === 'string' ? jid.indexOf('@') : -1
|
|
33
23
|
if (sepIdx < 0) {
|
|
34
|
-
return undefined
|
|
35
|
-
}
|
|
36
|
-
const server = jid.slice(sepIdx + 1);
|
|
37
|
-
const userCombined = jid.slice(0, sepIdx);
|
|
38
|
-
const [userAgent, device] = userCombined.split(':');
|
|
39
|
-
const [user, agent] = userAgent.split('_');
|
|
40
|
-
let domainType = WAJIDDomains.WHATSAPP;
|
|
41
|
-
if (server === 'lid') {
|
|
42
|
-
domainType = WAJIDDomains.LID;
|
|
43
|
-
}
|
|
44
|
-
else if (server === 'hosted') {
|
|
45
|
-
domainType = WAJIDDomains.HOSTED;
|
|
46
|
-
}
|
|
47
|
-
else if (server === 'hosted.lid') {
|
|
48
|
-
domainType = WAJIDDomains.HOSTED_LID;
|
|
49
|
-
}
|
|
50
|
-
else if (agent) {
|
|
51
|
-
domainType = parseInt(agent);
|
|
24
|
+
return undefined
|
|
52
25
|
}
|
|
26
|
+
const server = jid.slice(sepIdx + 1)
|
|
27
|
+
const userCombined = jid.slice(0, sepIdx)
|
|
28
|
+
const [userAgent, device] = userCombined.split(':')
|
|
29
|
+
const user = userAgent.split('_')[0]
|
|
53
30
|
return {
|
|
54
31
|
server: server,
|
|
55
|
-
user
|
|
56
|
-
domainType,
|
|
32
|
+
user,
|
|
33
|
+
domainType: server === 'lid' ? 1 : 0,
|
|
57
34
|
device: device ? +device : undefined
|
|
58
|
-
}
|
|
59
|
-
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
60
38
|
/** is the jid a user */
|
|
61
|
-
|
|
39
|
+
const areJidsSameUser = (jid1, jid2) => {
|
|
40
|
+
return jidDecode(jid1)?.user === jidDecode(jid2)?.user
|
|
41
|
+
}
|
|
42
|
+
|
|
62
43
|
/** is the jid Meta AI */
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
44
|
+
const isJidMetaAI = (jid) => jid?.endsWith('@bot')
|
|
45
|
+
|
|
46
|
+
/** is the jid a user */
|
|
47
|
+
const isJidUser = (jid) => jid?.endsWith('@s.whatsapp.net')
|
|
48
|
+
|
|
49
|
+
/** is the lid a user */
|
|
50
|
+
const isLidUser = (jid) => jid?.endsWith('@lid')
|
|
51
|
+
|
|
68
52
|
/** is the jid a broadcast */
|
|
69
|
-
|
|
53
|
+
const isJidBroadcast = (jid) => jid?.endsWith('@broadcast')
|
|
54
|
+
|
|
70
55
|
/** is the jid a group */
|
|
71
|
-
|
|
56
|
+
const isJidGroup = (jid) => jid?.endsWith('@g.us')
|
|
57
|
+
|
|
72
58
|
/** is the jid the status broadcast */
|
|
73
|
-
|
|
59
|
+
const isJidStatusBroadcast = (jid) => jid === 'status@broadcast'
|
|
60
|
+
|
|
74
61
|
/** is the jid a newsletter */
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const result = jidDecode(jid);
|
|
62
|
+
const isJidNewsletter = (jid) => jid?.endsWith('@newsletter')
|
|
63
|
+
|
|
64
|
+
/** is the jid a bot */
|
|
65
|
+
const botRegexp = /^1313555\d{4}$|^131655500\d{2}$/
|
|
66
|
+
const isJidBot = (jid) => (jid && botRegexp.test(jid.split('@')[0]) && jid.endsWith('@c.us'))
|
|
67
|
+
|
|
68
|
+
const jidNormalizedUser = (jid) => {
|
|
69
|
+
const result = jidDecode(jid)
|
|
84
70
|
if (!result) {
|
|
85
|
-
return ''
|
|
71
|
+
return ''
|
|
72
|
+
}
|
|
73
|
+
const { user, server } = result
|
|
74
|
+
return jidEncode(user, server === 'c.us' ? 's.whatsapp.net' : server)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const transferDevice = (fromJid, toJid) => {
|
|
78
|
+
const fromDecoded = jidDecode(fromJid)
|
|
79
|
+
const deviceId = fromDecoded?.device || 0
|
|
80
|
+
const { server, user } = jidDecode(toJid)
|
|
81
|
+
return jidEncode(user, server, deviceId)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
module.exports = {
|
|
85
|
+
S_WHATSAPP_NET,
|
|
86
|
+
OFFICIAL_BIZ_JID,
|
|
87
|
+
SERVER_JID,
|
|
88
|
+
PSA_WID,
|
|
89
|
+
STORIES_JID,
|
|
90
|
+
META_AI_JID,
|
|
91
|
+
jidEncode,
|
|
92
|
+
jidDecode,
|
|
93
|
+
areJidsSameUser,
|
|
94
|
+
isJidMetaAI,
|
|
95
|
+
isJidUser,
|
|
96
|
+
isLidUser,
|
|
97
|
+
isJidBroadcast,
|
|
98
|
+
isJidGroup,
|
|
99
|
+
isJidStatusBroadcast,
|
|
100
|
+
isJidNewsletter,
|
|
101
|
+
isJidBot,
|
|
102
|
+
transferDevice,
|
|
103
|
+
jidNormalizedUser
|
|
104
|
+
}
|
|
105
|
+
// ============================================================
|
|
106
|
+
// FIX: getSenderJid - helper aman untuk identifikasi pengirim
|
|
107
|
+
// ============================================================
|
|
108
|
+
/**
|
|
109
|
+
* Mendapatkan JID pengirim sebenarnya dari sebuah pesan.
|
|
110
|
+
* Aman digunakan untuk private chat maupun group.
|
|
111
|
+
*
|
|
112
|
+
* Cara pakai di bot:
|
|
113
|
+
* const { getSenderJid, areJidsSameUser } = require('@whiskeysockets/baileys')
|
|
114
|
+
* const sender = getSenderJid(msg)
|
|
115
|
+
* if (areJidsSameUser(sender, ownerNumber)) { ... }
|
|
116
|
+
*
|
|
117
|
+
* @param {object} msg - objek WebMessageInfo dari event messages.upsert
|
|
118
|
+
* @returns {string} JID pengirim yang sudah dinormalisasi
|
|
119
|
+
*/
|
|
120
|
+
const getSenderJid = (msg) => {
|
|
121
|
+
const key = msg?.key
|
|
122
|
+
if (!key) return ''
|
|
123
|
+
// Pesan dari bot sendiri: remoteJid adalah lawan bicara
|
|
124
|
+
if (key.fromMe) return jidNormalizedUser(key.remoteJid)
|
|
125
|
+
// Group / broadcast: gunakan participant
|
|
126
|
+
if (isJidGroup(key.remoteJid) || isJidBroadcast(key.remoteJid)) {
|
|
127
|
+
return jidNormalizedUser(key.participant || key.remoteJid)
|
|
128
|
+
}
|
|
129
|
+
// Private chat: pengirim adalah remoteJid itu sendiri
|
|
130
|
+
return jidNormalizedUser(key.remoteJid)
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
exports.getSenderJid = getSenderJid
|
|
134
|
+
|
|
135
|
+
// ============================================================
|
|
136
|
+
// FIX: splitJidLid - normalisasi pasangan jid(pn) & lid
|
|
137
|
+
// ============================================================
|
|
138
|
+
/**
|
|
139
|
+
* Terima dua kandidat identitas (urutan bebas, boleh salah satunya kosong)
|
|
140
|
+
* dan pisahkan jadi { jid, lid } berdasarkan suffix domainnya, bukan
|
|
141
|
+
* berdasarkan posisi argumen. Dipakai di semua tempat yang membentuk
|
|
142
|
+
* pasangan participant/jid <-> lid (groups, community, message key)
|
|
143
|
+
* supaya hasilnya konsisten walau addressing_mode / urutan atribut beda.
|
|
144
|
+
*
|
|
145
|
+
* @param {string|undefined} a kandidat pertama
|
|
146
|
+
* @param {string|undefined} b kandidat kedua
|
|
147
|
+
* @returns {{ jid: string|undefined, lid: string|undefined }}
|
|
148
|
+
*/
|
|
149
|
+
const splitJidLid = (a, b) => {
|
|
150
|
+
let jid
|
|
151
|
+
let lid
|
|
152
|
+
if (a && isLidUser(a)) {
|
|
153
|
+
lid = a
|
|
154
|
+
} else if (a) {
|
|
155
|
+
jid = a
|
|
156
|
+
}
|
|
157
|
+
if (b && isLidUser(b)) {
|
|
158
|
+
lid = lid || b
|
|
159
|
+
} else if (b) {
|
|
160
|
+
jid = jid || b
|
|
86
161
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const fromDecoded = jidDecode(fromJid);
|
|
92
|
-
const deviceId = fromDecoded?.device || 0;
|
|
93
|
-
const { server, user } = jidDecode(toJid);
|
|
94
|
-
return jidEncode(user, server, deviceId);
|
|
95
|
-
};
|
|
96
|
-
//# sourceMappingURL=jid-utils.js.map
|
|
162
|
+
return { jid, lid }
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
exports.splitJidLid = splitJidLid
|
package/lib/WABinary/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import * as constants from './constants
|
|
1
|
+
import * as constants from './constants'
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* the binary node WA uses internally for communication
|
|
4
5
|
*
|
|
@@ -7,13 +8,15 @@ import * as constants from './constants.js';
|
|
|
7
8
|
* to maintain functional code structure
|
|
8
9
|
* */
|
|
9
10
|
export type BinaryNode = {
|
|
10
|
-
tag: string
|
|
11
|
+
tag: string
|
|
11
12
|
attrs: {
|
|
12
|
-
[key: string]: string
|
|
13
|
-
}
|
|
14
|
-
content?: BinaryNode[] | string | Uint8Array
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export type
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
[key: string]: string
|
|
14
|
+
}
|
|
15
|
+
content?: BinaryNode[] | string | Uint8Array
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type BinaryNodeAttributes = BinaryNode['attrs']
|
|
19
|
+
|
|
20
|
+
export type BinaryNodeData = BinaryNode['content']
|
|
21
|
+
|
|
22
|
+
export type BinaryNodeCodingOptions = typeof constants
|
package/lib/WABinary/types.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true })
|
package/lib/WAM/BinaryInfo.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import type { EventInputType } from './constants.js';
|
|
2
1
|
export declare class BinaryInfo {
|
|
3
|
-
protocolVersion: number
|
|
4
|
-
sequence: number
|
|
5
|
-
events:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
protocolVersion: number
|
|
3
|
+
sequence: number
|
|
4
|
+
events: {
|
|
5
|
+
[x: string]: {
|
|
6
|
+
props: {
|
|
7
|
+
[x: string]: import("./constants").Value
|
|
8
|
+
}
|
|
9
|
+
globals: {
|
|
10
|
+
[x: string]: import("./constants").Value
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}[]
|
|
14
|
+
buffer: Buffer[]
|
|
15
|
+
constructor(options?: Partial<BinaryInfo>)
|
|
16
|
+
}
|
package/lib/WAM/BinaryInfo.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true })
|
|
4
|
+
|
|
5
|
+
class BinaryInfo {
|
|
2
6
|
constructor(options = {}) {
|
|
3
|
-
this.protocolVersion = 5
|
|
4
|
-
this.sequence = 0
|
|
5
|
-
this.events = []
|
|
6
|
-
this.buffer = []
|
|
7
|
-
Object.assign(this, options)
|
|
7
|
+
this.protocolVersion = 5
|
|
8
|
+
this.sequence = 0
|
|
9
|
+
this.events = []
|
|
10
|
+
this.buffer = []
|
|
11
|
+
Object.assign(this, options)
|
|
8
12
|
}
|
|
9
13
|
}
|
|
10
|
-
|
|
14
|
+
|
|
15
|
+
module.exports = {
|
|
16
|
+
BinaryInfo
|
|
17
|
+
}
|
package/lib/WAM/constants.d.ts
CHANGED
|
@@ -1,40 +1,47 @@
|
|
|
1
|
-
export declare const WEB_EVENTS: Event[]
|
|
2
|
-
|
|
3
|
-
export declare const
|
|
1
|
+
export declare const WEB_EVENTS: Event[]
|
|
2
|
+
|
|
3
|
+
export declare const WEB_GLOBALS: Global[]
|
|
4
|
+
|
|
5
|
+
export declare const FLAG_BYTE = 8, FLAG_GLOBAL = 0, FLAG_EVENT = 1, FLAG_FIELD = 2, FLAG_EXTENDED = 4
|
|
6
|
+
|
|
4
7
|
export type Event = {
|
|
5
|
-
name: string
|
|
6
|
-
id: number
|
|
8
|
+
name: string
|
|
9
|
+
id: number
|
|
7
10
|
props: {
|
|
8
11
|
[key: string]: [number, string | {
|
|
9
|
-
[key: string]: number
|
|
10
|
-
}]
|
|
11
|
-
}
|
|
12
|
-
weight: number
|
|
13
|
-
wamChannel: string
|
|
14
|
-
privateStatsIdInt
|
|
15
|
-
}
|
|
12
|
+
[key: string]: number
|
|
13
|
+
}]
|
|
14
|
+
}
|
|
15
|
+
weight: number
|
|
16
|
+
wamChannel: string
|
|
17
|
+
privateStatsIdInt: number
|
|
18
|
+
}
|
|
19
|
+
|
|
16
20
|
export type Global = {
|
|
17
|
-
name: string
|
|
18
|
-
id: number
|
|
21
|
+
name: string
|
|
22
|
+
id: number
|
|
19
23
|
type: string | {
|
|
20
|
-
[key: string]: number
|
|
21
|
-
}
|
|
22
|
-
validator?: string
|
|
23
|
-
channels: string[]
|
|
24
|
-
}
|
|
24
|
+
[key: string]: number
|
|
25
|
+
}
|
|
26
|
+
validator?: string
|
|
27
|
+
channels: string[]
|
|
28
|
+
}
|
|
29
|
+
|
|
25
30
|
type EventByName<T extends Event['name']> = Extract<Event, {
|
|
26
|
-
name: T
|
|
27
|
-
}
|
|
31
|
+
name: T
|
|
32
|
+
}>
|
|
33
|
+
|
|
28
34
|
export type EventInputType = {
|
|
29
35
|
[key in Event['name']]: {
|
|
30
36
|
props: {
|
|
31
|
-
[k in keyof EventByName<key>['props']]: Value
|
|
32
|
-
}
|
|
37
|
+
[k in keyof EventByName<key>['props']]: Value
|
|
38
|
+
}
|
|
33
39
|
globals: {
|
|
34
|
-
[x: string]: Value
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
} & {}
|
|
38
|
-
|
|
39
|
-
export
|
|
40
|
-
|
|
40
|
+
[x: string]: Value
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
} & {}
|
|
44
|
+
|
|
45
|
+
export type Value = number | null | string
|
|
46
|
+
|
|
47
|
+
export {}
|