gifted-baileys 1.5.5 → 1.5.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.
Files changed (251) hide show
  1. package/README.md +6 -1642
  2. package/WAProto/WAProto.proto +969 -88
  3. package/WAProto/index.d.ts +13199 -1260
  4. package/WAProto/index.js +124901 -74525
  5. package/lib/Defaults/baileys-version.json +3 -0
  6. package/lib/Defaults/index.d.ts +284 -0
  7. package/{src → lib}/Defaults/index.js +7 -14
  8. package/lib/Signal/libsignal.d.ts +3 -0
  9. package/lib/Signal/libsignal.js +161 -0
  10. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  11. package/lib/Socket/Client/index.d.ts +2 -0
  12. package/{src → lib}/Socket/Client/index.js +2 -3
  13. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  14. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  15. package/lib/Socket/Client/types.d.ts +17 -0
  16. package/lib/Socket/Client/types.js +13 -0
  17. package/lib/Socket/Client/websocket.d.ts +12 -0
  18. package/lib/Socket/Client/websocket.js +62 -0
  19. package/lib/Socket/business.d.ts +170 -0
  20. package/{src → lib}/Socket/business.js +28 -33
  21. package/lib/Socket/chats.d.ts +81 -0
  22. package/{src → lib}/Socket/chats.js +174 -176
  23. package/lib/Socket/groups.d.ts +115 -0
  24. package/{src → lib}/Socket/groups.js +80 -68
  25. package/lib/Socket/index.d.ts +172 -0
  26. package/{src → lib}/Socket/index.js +4 -1
  27. package/lib/Socket/messages-recv.d.ts +158 -0
  28. package/{src → lib}/Socket/messages-recv.js +378 -211
  29. package/lib/Socket/messages-send.d.ts +155 -0
  30. package/{src → lib}/Socket/messages-send.js +452 -177
  31. package/lib/Socket/newsletter.d.ts +132 -0
  32. package/{src → lib}/Socket/newsletter.js +107 -98
  33. package/lib/Socket/registration.d.ts +264 -0
  34. package/{src → lib}/Socket/registration.js +56 -48
  35. package/lib/Socket/socket.d.ts +44 -0
  36. package/{src → lib}/Socket/socket.js +77 -77
  37. package/lib/Socket/usync.d.ts +37 -0
  38. package/lib/Socket/usync.js +70 -0
  39. package/lib/Store/index.d.ts +3 -0
  40. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  41. package/{src → lib}/Store/make-cache-manager-store.js +25 -34
  42. package/lib/Store/make-in-memory-store.d.ts +118 -0
  43. package/{src → lib}/Store/make-in-memory-store.js +36 -32
  44. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  45. package/lib/Store/object-repository.d.ts +10 -0
  46. package/{src → lib}/Store/object-repository.js +1 -1
  47. package/lib/Types/Auth.d.ts +109 -0
  48. package/lib/Types/Call.d.ts +13 -0
  49. package/lib/Types/Chat.d.ts +107 -0
  50. package/{src/Types/Contact.ts → lib/Types/Contact.d.ts} +8 -9
  51. package/lib/Types/Events.d.ts +172 -0
  52. package/lib/Types/GroupMetadata.d.ts +56 -0
  53. package/lib/Types/Label.d.ts +46 -0
  54. package/{src/Types/LabelAssociation.ts → lib/Types/LabelAssociation.d.ts} +16 -22
  55. package/lib/Types/Message.d.ts +433 -0
  56. package/lib/Types/Newsletter.d.ts +92 -0
  57. package/lib/Types/Product.d.ts +78 -0
  58. package/lib/Types/Signal.d.ts +57 -0
  59. package/{src/Types/Socket.ts → lib/Types/Socket.d.ts} +61 -68
  60. package/lib/Types/State.d.ts +27 -0
  61. package/lib/Types/USync.d.ts +25 -0
  62. package/lib/Types/index.d.ts +66 -0
  63. package/lib/Utils/auth-utils.d.ts +18 -0
  64. package/{src → lib}/Utils/auth-utils.js +73 -90
  65. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  66. package/lib/Utils/baileys-event-stream.js +63 -0
  67. package/lib/Utils/business.d.ts +22 -0
  68. package/{src → lib}/Utils/business.js +15 -43
  69. package/lib/Utils/chat-utils.d.ts +70 -0
  70. package/{src → lib}/Utils/chat-utils.js +87 -94
  71. package/lib/Utils/crypto.d.ts +40 -0
  72. package/{src → lib}/Utils/crypto.js +4 -2
  73. package/lib/Utils/decode-wa-message.d.ts +36 -0
  74. package/lib/Utils/decode-wa-message.js +226 -0
  75. package/lib/Utils/event-buffer.d.ts +35 -0
  76. package/{src → lib}/Utils/event-buffer.js +4 -13
  77. package/lib/Utils/generics.d.ts +88 -0
  78. package/{src → lib}/Utils/generics.js +67 -86
  79. package/lib/Utils/history.d.ts +19 -0
  80. package/{src → lib}/Utils/history.js +13 -39
  81. package/lib/Utils/index.d.ts +17 -0
  82. package/lib/Utils/link-preview.d.ts +21 -0
  83. package/{src → lib}/Utils/link-preview.js +17 -54
  84. package/lib/Utils/logger.d.ts +2 -0
  85. package/lib/Utils/lt-hash.d.ts +12 -0
  86. package/lib/Utils/make-mutex.d.ts +7 -0
  87. package/{src → lib}/Utils/make-mutex.js +4 -13
  88. package/lib/Utils/messages-media.d.ts +113 -0
  89. package/{src → lib}/Utils/messages-media.js +193 -255
  90. package/lib/Utils/messages.d.ts +77 -0
  91. package/{src → lib}/Utils/messages.js +588 -118
  92. package/lib/Utils/noise-handler.d.ts +20 -0
  93. package/lib/Utils/process-message.d.ts +41 -0
  94. package/{src → lib}/Utils/process-message.js +27 -30
  95. package/lib/Utils/signal.d.ts +33 -0
  96. package/{src → lib}/Utils/signal.js +25 -42
  97. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  98. package/{src → lib}/Utils/use-multi-file-auth-state.js +27 -28
  99. package/lib/Utils/validate-connection.d.ts +11 -0
  100. package/{src → lib}/Utils/validate-connection.js +40 -9
  101. package/lib/WABinary/constants.d.ts +27 -0
  102. package/lib/WABinary/decode.d.ts +6 -0
  103. package/lib/WABinary/encode.d.ts +2 -0
  104. package/{src → lib}/WABinary/encode.js +16 -10
  105. package/lib/WABinary/generic-utils.d.ts +14 -0
  106. package/lib/WABinary/index.d.ts +5 -0
  107. package/lib/WABinary/jid-utils.d.ts +31 -0
  108. package/lib/WABinary/types.d.ts +18 -0
  109. package/lib/WABinary/types.js +2 -0
  110. package/lib/WAM/BinaryInfo.d.ts +8 -0
  111. package/lib/WAM/constants.d.ts +38 -0
  112. package/lib/WAM/encode.d.ts +2 -0
  113. package/lib/WAM/index.d.ts +3 -0
  114. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  115. package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
  116. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  117. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  118. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  119. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  120. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  121. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  122. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  123. package/lib/WAUSync/Protocols/index.js +20 -0
  124. package/lib/WAUSync/USyncQuery.d.ts +26 -0
  125. package/lib/WAUSync/USyncQuery.js +79 -0
  126. package/lib/WAUSync/USyncUser.d.ts +10 -0
  127. package/lib/WAUSync/USyncUser.js +22 -0
  128. package/lib/WAUSync/index.d.ts +3 -0
  129. package/lib/WAUSync/index.js +19 -0
  130. package/{src → lib}/index.js +1 -0
  131. package/package.json +26 -8
  132. package/LICENSE +0 -21
  133. package/src/Defaults/baileys-version.json +0 -3
  134. package/src/Defaults/index.ts +0 -131
  135. package/src/Signal/libsignal.js +0 -180
  136. package/src/Signal/libsignal.ts +0 -141
  137. package/src/Socket/Client/abstract-socket-client.ts +0 -19
  138. package/src/Socket/Client/index.ts +0 -3
  139. package/src/Socket/Client/mobile-socket-client.js +0 -78
  140. package/src/Socket/Client/mobile-socket-client.ts +0 -66
  141. package/src/Socket/Client/web-socket-client.js +0 -75
  142. package/src/Socket/Client/web-socket-client.ts +0 -57
  143. package/src/Socket/business.ts +0 -281
  144. package/src/Socket/chats.ts +0 -1030
  145. package/src/Socket/groups.ts +0 -356
  146. package/src/Socket/index.ts +0 -13
  147. package/src/Socket/messages-recv.ts +0 -985
  148. package/src/Socket/messages-send.ts +0 -871
  149. package/src/Socket/newsletter.ts +0 -282
  150. package/src/Socket/registration.ts +0 -250
  151. package/src/Socket/socket.ts +0 -777
  152. package/src/Store/index.ts +0 -3
  153. package/src/Store/make-cache-manager-store.ts +0 -100
  154. package/src/Store/make-in-memory-store.ts +0 -475
  155. package/src/Store/make-ordered-dictionary.ts +0 -86
  156. package/src/Store/object-repository.ts +0 -32
  157. package/src/Tests/test.app-state-sync.js +0 -204
  158. package/src/Tests/test.app-state-sync.ts +0 -207
  159. package/src/Tests/test.event-buffer.js +0 -270
  160. package/src/Tests/test.event-buffer.ts +0 -319
  161. package/src/Tests/test.key-store.js +0 -76
  162. package/src/Tests/test.key-store.ts +0 -92
  163. package/src/Tests/test.libsignal.js +0 -141
  164. package/src/Tests/test.libsignal.ts +0 -186
  165. package/src/Tests/test.media-download.js +0 -93
  166. package/src/Tests/test.media-download.ts +0 -76
  167. package/src/Tests/test.messages.js +0 -33
  168. package/src/Tests/test.messages.ts +0 -37
  169. package/src/Tests/utils.js +0 -34
  170. package/src/Tests/utils.ts +0 -36
  171. package/src/Types/Auth.ts +0 -113
  172. package/src/Types/Call.ts +0 -15
  173. package/src/Types/Chat.ts +0 -106
  174. package/src/Types/Events.ts +0 -93
  175. package/src/Types/GroupMetadata.ts +0 -53
  176. package/src/Types/Label.ts +0 -36
  177. package/src/Types/Message.ts +0 -288
  178. package/src/Types/Newsletter.ts +0 -98
  179. package/src/Types/Product.ts +0 -85
  180. package/src/Types/Signal.ts +0 -68
  181. package/src/Types/State.ts +0 -29
  182. package/src/Types/index.ts +0 -59
  183. package/src/Utils/auth-utils.ts +0 -222
  184. package/src/Utils/baileys-event-stream.js +0 -92
  185. package/src/Utils/baileys-event-stream.ts +0 -66
  186. package/src/Utils/business.ts +0 -275
  187. package/src/Utils/chat-utils.ts +0 -860
  188. package/src/Utils/crypto.ts +0 -131
  189. package/src/Utils/decode-wa-message.js +0 -211
  190. package/src/Utils/decode-wa-message.ts +0 -228
  191. package/src/Utils/event-buffer.ts +0 -613
  192. package/src/Utils/generics.ts +0 -434
  193. package/src/Utils/history.ts +0 -112
  194. package/src/Utils/index.ts +0 -17
  195. package/src/Utils/link-preview.ts +0 -122
  196. package/src/Utils/logger.ts +0 -3
  197. package/src/Utils/lt-hash.ts +0 -61
  198. package/src/Utils/make-mutex.ts +0 -44
  199. package/src/Utils/messages-media.ts +0 -847
  200. package/src/Utils/messages.ts +0 -956
  201. package/src/Utils/noise-handler.ts +0 -197
  202. package/src/Utils/process-message.ts +0 -414
  203. package/src/Utils/signal.ts +0 -177
  204. package/src/Utils/use-multi-file-auth-state.ts +0 -90
  205. package/src/Utils/validate-connection.ts +0 -238
  206. package/src/WABinary/constants.ts +0 -42
  207. package/src/WABinary/decode.ts +0 -265
  208. package/src/WABinary/encode.ts +0 -236
  209. package/src/WABinary/generic-utils.ts +0 -121
  210. package/src/WABinary/index.ts +0 -5
  211. package/src/WABinary/jid-utils.ts +0 -68
  212. package/src/WABinary/types.ts +0 -17
  213. package/src/WAM/BinaryInfo.ts +0 -12
  214. package/src/WAM/constants.ts +0 -15382
  215. package/src/WAM/encode.ts +0 -174
  216. package/src/WAM/index.ts +0 -3
  217. package/src/gifted +0 -1
  218. package/src/index.ts +0 -13
  219. /package/{src → lib}/Defaults/phonenumber-mcc.json +0 -0
  220. /package/{src → lib}/Socket/Client/abstract-socket-client.js +0 -0
  221. /package/{src → lib}/Store/index.js +0 -0
  222. /package/{src → lib}/Store/make-ordered-dictionary.js +0 -0
  223. /package/{src → lib}/Types/Auth.js +0 -0
  224. /package/{src → lib}/Types/Call.js +0 -0
  225. /package/{src → lib}/Types/Chat.js +0 -0
  226. /package/{src → lib}/Types/Contact.js +0 -0
  227. /package/{src → lib}/Types/Events.js +0 -0
  228. /package/{src → lib}/Types/GroupMetadata.js +0 -0
  229. /package/{src → lib}/Types/Label.js +0 -0
  230. /package/{src → lib}/Types/LabelAssociation.js +0 -0
  231. /package/{src → lib}/Types/Message.js +0 -0
  232. /package/{src → lib}/Types/Newsletter.js +0 -0
  233. /package/{src → lib}/Types/Product.js +0 -0
  234. /package/{src → lib}/Types/Signal.js +0 -0
  235. /package/{src → lib}/Types/Socket.js +0 -0
  236. /package/{src → lib}/Types/State.js +0 -0
  237. /package/{src/WABinary/types.js → lib/Types/USync.js} +0 -0
  238. /package/{src → lib}/Types/index.js +0 -0
  239. /package/{src → lib}/Utils/index.js +0 -0
  240. /package/{src → lib}/Utils/logger.js +0 -0
  241. /package/{src → lib}/Utils/lt-hash.js +0 -0
  242. /package/{src → lib}/Utils/noise-handler.js +0 -0
  243. /package/{src → lib}/WABinary/constants.js +0 -0
  244. /package/{src → lib}/WABinary/decode.js +0 -0
  245. /package/{src → lib}/WABinary/generic-utils.js +0 -0
  246. /package/{src → lib}/WABinary/index.js +0 -0
  247. /package/{src → lib}/WABinary/jid-utils.js +0 -0
  248. /package/{src → lib}/WAM/BinaryInfo.js +0 -0
  249. /package/{src → lib}/WAM/constants.js +0 -0
  250. /package/{src → lib}/WAM/encode.js +0 -0
  251. /package/{src → lib}/WAM/index.js +0 -0
@@ -1,275 +0,0 @@
1
- import { Boom } from '@hapi/boom'
2
- import { createHash } from 'crypto'
3
- import { CatalogCollection, CatalogStatus, OrderDetails, OrderProduct, Product, ProductCreate, ProductUpdate, WAMediaUpload, WAMediaUploadFunction } from '../Types'
4
- import { BinaryNode, getBinaryNodeChild, getBinaryNodeChildren, getBinaryNodeChildString } from '../WABinary'
5
- import { getStream, getUrlFromDirectPath, toReadable } from './messages-media'
6
-
7
- export const parseCatalogNode = (node: BinaryNode) => {
8
- const catalogNode = getBinaryNodeChild(node, 'product_catalog')
9
- const products = getBinaryNodeChildren(catalogNode, 'product').map(parseProductNode)
10
- const paging = getBinaryNodeChild(catalogNode, 'paging')
11
-
12
- return {
13
- products,
14
- nextPageCursor: paging
15
- ? getBinaryNodeChildString(paging, 'after')
16
- : undefined
17
- }
18
- }
19
-
20
- export const parseCollectionsNode = (node: BinaryNode) => {
21
- const collectionsNode = getBinaryNodeChild(node, 'collections')
22
- const collections = getBinaryNodeChildren(collectionsNode, 'collection').map<CatalogCollection>(
23
- collectionNode => {
24
- const id = getBinaryNodeChildString(collectionNode, 'id')!
25
- const name = getBinaryNodeChildString(collectionNode, 'name')!
26
-
27
- const products = getBinaryNodeChildren(collectionNode, 'product').map(parseProductNode)
28
- return {
29
- id,
30
- name,
31
- products,
32
- status: parseStatusInfo(collectionNode)
33
- }
34
- }
35
- )
36
-
37
- return {
38
- collections
39
- }
40
- }
41
-
42
- export const parseOrderDetailsNode = (node: BinaryNode) => {
43
- const orderNode = getBinaryNodeChild(node, 'order')
44
- const products = getBinaryNodeChildren(orderNode, 'product').map<OrderProduct>(
45
- productNode => {
46
- const imageNode = getBinaryNodeChild(productNode, 'image')!
47
- return {
48
- id: getBinaryNodeChildString(productNode, 'id')!,
49
- name: getBinaryNodeChildString(productNode, 'name')!,
50
- imageUrl: getBinaryNodeChildString(imageNode, 'url')!,
51
- price: +getBinaryNodeChildString(productNode, 'price')!,
52
- currency: getBinaryNodeChildString(productNode, 'currency')!,
53
- quantity: +getBinaryNodeChildString(productNode, 'quantity')!
54
- }
55
- }
56
- )
57
-
58
- const priceNode = getBinaryNodeChild(orderNode, 'price')
59
-
60
- const orderDetails: OrderDetails = {
61
- price: {
62
- total: +getBinaryNodeChildString(priceNode, 'total')!,
63
- currency: getBinaryNodeChildString(priceNode, 'currency')!,
64
- },
65
- products
66
- }
67
-
68
- return orderDetails
69
- }
70
-
71
- export const toProductNode = (productId: string | undefined, product: ProductCreate | ProductUpdate) => {
72
- const attrs: BinaryNode['attrs'] = { }
73
- const content: BinaryNode[] = [ ]
74
-
75
- if(typeof productId !== 'undefined') {
76
- content.push({
77
- tag: 'id',
78
- attrs: { },
79
- content: Buffer.from(productId)
80
- })
81
- }
82
-
83
- if(typeof product.name !== 'undefined') {
84
- content.push({
85
- tag: 'name',
86
- attrs: { },
87
- content: Buffer.from(product.name)
88
- })
89
- }
90
-
91
- if(typeof product.description !== 'undefined') {
92
- content.push({
93
- tag: 'description',
94
- attrs: { },
95
- content: Buffer.from(product.description)
96
- })
97
- }
98
-
99
- if(typeof product.retailerId !== 'undefined') {
100
- content.push({
101
- tag: 'retailer_id',
102
- attrs: { },
103
- content: Buffer.from(product.retailerId)
104
- })
105
- }
106
-
107
- if(product.images.length) {
108
- content.push({
109
- tag: 'media',
110
- attrs: { },
111
- content: product.images.map(
112
- img => {
113
- if(!('url' in img)) {
114
- throw new Boom('Expected img for product to already be uploaded', { statusCode: 400 })
115
- }
116
-
117
- return {
118
- tag: 'image',
119
- attrs: { },
120
- content: [
121
- {
122
- tag: 'url',
123
- attrs: { },
124
- content: Buffer.from(img.url.toString())
125
- }
126
- ]
127
- }
128
- }
129
- )
130
- })
131
- }
132
-
133
- if(typeof product.price !== 'undefined') {
134
- content.push({
135
- tag: 'price',
136
- attrs: { },
137
- content: Buffer.from(product.price.toString())
138
- })
139
- }
140
-
141
- if(typeof product.currency !== 'undefined') {
142
- content.push({
143
- tag: 'currency',
144
- attrs: { },
145
- content: Buffer.from(product.currency)
146
- })
147
- }
148
-
149
- if('originCountryCode' in product) {
150
- if(typeof product.originCountryCode === 'undefined') {
151
- attrs['compliance_category'] = 'COUNTRY_ORIGIN_EXEMPT'
152
- } else {
153
- content.push({
154
- tag: 'compliance_info',
155
- attrs: { },
156
- content: [
157
- {
158
- tag: 'country_code_origin',
159
- attrs: { },
160
- content: Buffer.from(product.originCountryCode)
161
- }
162
- ]
163
- })
164
- }
165
- }
166
-
167
-
168
- if(typeof product.isHidden !== 'undefined') {
169
- attrs['is_hidden'] = product.isHidden.toString()
170
- }
171
-
172
- const node: BinaryNode = {
173
- tag: 'product',
174
- attrs,
175
- content
176
- }
177
- return node
178
- }
179
-
180
- export const parseProductNode = (productNode: BinaryNode) => {
181
- const isHidden = productNode.attrs.is_hidden === 'true'
182
- const id = getBinaryNodeChildString(productNode, 'id')!
183
-
184
- const mediaNode = getBinaryNodeChild(productNode, 'media')!
185
- const statusInfoNode = getBinaryNodeChild(productNode, 'status_info')!
186
-
187
- const product: Product = {
188
- id,
189
- imageUrls: parseImageUrls(mediaNode),
190
- reviewStatus: {
191
- whatsapp: getBinaryNodeChildString(statusInfoNode, 'status')!,
192
- },
193
- availability: 'in stock',
194
- name: getBinaryNodeChildString(productNode, 'name')!,
195
- retailerId: getBinaryNodeChildString(productNode, 'retailer_id'),
196
- url: getBinaryNodeChildString(productNode, 'url'),
197
- description: getBinaryNodeChildString(productNode, 'description')!,
198
- price: +getBinaryNodeChildString(productNode, 'price')!,
199
- currency: getBinaryNodeChildString(productNode, 'currency')!,
200
- isHidden,
201
- }
202
-
203
- return product
204
- }
205
-
206
- /**
207
- * Uploads images not already uploaded to WA's servers
208
- */
209
- export async function uploadingNecessaryImagesOfProduct<T extends ProductUpdate | ProductCreate>(product: T, waUploadToServer: WAMediaUploadFunction, timeoutMs = 30_000) {
210
- product = {
211
- ...product,
212
- images: product.images ? await uploadingNecessaryImages(product.images, waUploadToServer, timeoutMs) : product.images
213
- }
214
- return product
215
- }
216
-
217
- /**
218
- * Uploads images not already uploaded to WA's servers
219
- */
220
- export const uploadingNecessaryImages = async(
221
- images: WAMediaUpload[],
222
- waUploadToServer: WAMediaUploadFunction,
223
- timeoutMs = 30_000
224
- ) => {
225
- const results = await Promise.all(
226
- images.map<Promise<{ url: string }>>(
227
- async img => {
228
-
229
- if('url' in img) {
230
- const url = img.url.toString()
231
- if(url.includes('.whatsapp.net')) {
232
- return { url }
233
- }
234
- }
235
-
236
- const { stream } = await getStream(img)
237
- const hasher = createHash('sha256')
238
- const contentBlocks: Buffer[] = []
239
- for await (const block of stream) {
240
- hasher.update(block)
241
- contentBlocks.push(block)
242
- }
243
-
244
- const sha = hasher.digest('base64')
245
-
246
- const { directPath } = await waUploadToServer(
247
- toReadable(Buffer.concat(contentBlocks)),
248
- {
249
- mediaType: 'product-catalog-image',
250
- fileEncSha256B64: sha,
251
- timeoutMs
252
- }
253
- )
254
- return { url: getUrlFromDirectPath(directPath) }
255
- }
256
- )
257
- )
258
- return results
259
- }
260
-
261
- const parseImageUrls = (mediaNode: BinaryNode) => {
262
- const imgNode = getBinaryNodeChild(mediaNode, 'image')
263
- return {
264
- requested: getBinaryNodeChildString(imgNode, 'request_image_url')!,
265
- original: getBinaryNodeChildString(imgNode, 'original_image_url')!
266
- }
267
- }
268
-
269
- const parseStatusInfo = (mediaNode: BinaryNode): CatalogStatus => {
270
- const node = getBinaryNodeChild(mediaNode, 'status_info')
271
- return {
272
- status: getBinaryNodeChildString(node, 'status')!,
273
- canAppeal: getBinaryNodeChildString(node, 'can_appeal') === 'true',
274
- }
275
- }