@mtcute/core 0.10.2 → 0.12.0

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 (1309) hide show
  1. package/cjs/highlevel/base.d.ts +1 -1
  2. package/cjs/highlevel/base.js +29 -23
  3. package/cjs/highlevel/base.js.map +1 -1
  4. package/cjs/highlevel/client.d.ts +199 -18
  5. package/cjs/highlevel/client.js +54 -0
  6. package/cjs/highlevel/client.js.map +1 -1
  7. package/cjs/highlevel/managers/app-config-manager.js +7 -5
  8. package/cjs/highlevel/managers/app-config-manager.js.map +1 -1
  9. package/cjs/highlevel/methods/_imports.js.map +1 -1
  10. package/cjs/highlevel/methods/_init.js.map +1 -1
  11. package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
  12. package/cjs/highlevel/methods/auth/start.js.map +1 -1
  13. package/cjs/highlevel/methods/auth/utils.d.ts +3 -0
  14. package/cjs/highlevel/methods/auth/utils.js.map +1 -1
  15. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  16. package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  17. package/cjs/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
  18. package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  19. package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
  20. package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
  21. package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  22. package/cjs/highlevel/methods/chats/batched-queries.d.ts +10 -1
  23. package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
  24. package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  25. package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
  26. package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  27. package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
  28. package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
  29. package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  30. package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
  31. package/cjs/highlevel/methods/chats/get-full-chat.d.ts +2 -2
  32. package/cjs/highlevel/methods/chats/get-full-chat.js +1 -1
  33. package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
  34. package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  35. package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  36. package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  37. package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  38. package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
  39. package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  40. package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
  41. package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
  42. package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  43. package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  44. package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
  45. package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
  46. package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  47. package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
  48. package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  49. package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  50. package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  51. package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  52. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  53. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  54. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  55. package/cjs/highlevel/methods/dialogs/get-folders.d.ts +3 -0
  56. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  57. package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  58. package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
  59. package/cjs/highlevel/methods/files/download-iterable.js +1 -1
  60. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  61. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
  62. package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
  63. package/cjs/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
  64. package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  65. package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
  66. package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -0
  67. package/cjs/highlevel/methods/files/normalize-input-media.js +12 -12
  68. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  69. package/cjs/highlevel/methods/files/upload-file.js +7 -6
  70. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  71. package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
  72. package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  73. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  74. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  75. package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  76. package/cjs/highlevel/methods/messages/_business-connection.d.ts +7 -0
  77. package/cjs/highlevel/methods/messages/_business-connection.js +42 -0
  78. package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -0
  79. package/cjs/highlevel/methods/messages/close-poll.js +1 -1
  80. package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
  81. package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
  82. package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  83. package/cjs/highlevel/methods/messages/edit-message.d.ts +1 -0
  84. package/cjs/highlevel/methods/messages/edit-message.js +2 -1
  85. package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
  86. package/cjs/highlevel/methods/messages/find-in-update.d.ts +13 -1
  87. package/cjs/highlevel/methods/messages/find-in-update.js +7 -2
  88. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  89. package/cjs/highlevel/methods/messages/forward-messages.d.ts +5 -0
  90. package/cjs/highlevel/methods/messages/forward-messages.js +2 -0
  91. package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
  92. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
  93. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js +32 -0
  94. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
  95. package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  96. package/cjs/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
  97. package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  98. package/cjs/highlevel/methods/messages/get-history.js +5 -1
  99. package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
  100. package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  101. package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
  102. package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  103. package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
  104. package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
  105. package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
  106. package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  107. package/cjs/highlevel/methods/messages/iter-search-global.js +2 -1
  108. package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
  109. package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  110. package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
  111. package/cjs/highlevel/methods/messages/search-global.d.ts +4 -0
  112. package/cjs/highlevel/methods/messages/search-global.js +2 -1
  113. package/cjs/highlevel/methods/messages/search-global.js.map +1 -1
  114. package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
  115. package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
  116. package/cjs/highlevel/methods/messages/send-common.d.ts +28 -0
  117. package/cjs/highlevel/methods/messages/send-common.js +21 -1
  118. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  119. package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
  120. package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
  121. package/cjs/highlevel/methods/messages/send-media-group.js +5 -2
  122. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  123. package/cjs/highlevel/methods/messages/send-media.js +4 -2
  124. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  125. package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
  126. package/cjs/highlevel/methods/messages/send-text.js +4 -2
  127. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  128. package/cjs/highlevel/methods/messages/send-typing.d.ts +4 -0
  129. package/cjs/highlevel/methods/messages/send-typing.js +2 -1
  130. package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
  131. package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
  132. package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
  133. package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  134. package/cjs/highlevel/methods/misc/chain-id.d.ts +4 -1
  135. package/cjs/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
  136. package/cjs/highlevel/methods/misc/get-collectible-info.js +26 -0
  137. package/cjs/highlevel/methods/misc/get-collectible-info.js.map +1 -0
  138. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  139. package/cjs/highlevel/methods/misc/normalize-text.d.ts +5 -1
  140. package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
  141. package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
  142. package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
  143. package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  144. package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  145. package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  146. package/cjs/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
  147. package/cjs/highlevel/methods/premium/create-business-chat-link.js +26 -0
  148. package/cjs/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
  149. package/cjs/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
  150. package/cjs/highlevel/methods/premium/edit-business-chat-link.js +42 -0
  151. package/cjs/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
  152. package/cjs/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
  153. package/cjs/highlevel/methods/premium/get-business-chat-links.js +14 -0
  154. package/cjs/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
  155. package/cjs/highlevel/methods/premium/get-business-connection.d.ts +8 -0
  156. package/cjs/highlevel/methods/premium/get-business-connection.js +25 -0
  157. package/cjs/highlevel/methods/premium/get-business-connection.js.map +1 -0
  158. package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
  159. package/cjs/highlevel/methods/premium/set-business-intro.d.ts +22 -0
  160. package/cjs/highlevel/methods/premium/set-business-intro.js +42 -0
  161. package/cjs/highlevel/methods/premium/set-business-intro.js.map +1 -0
  162. package/cjs/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
  163. package/cjs/highlevel/methods/premium/set-business-work-hours.js +33 -0
  164. package/cjs/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
  165. package/cjs/highlevel/methods/stickers/_utils.d.ts +10 -0
  166. package/cjs/highlevel/methods/stickers/_utils.js +27 -0
  167. package/cjs/highlevel/methods/stickers/_utils.js.map +1 -0
  168. package/cjs/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
  169. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js +3 -17
  170. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  171. package/cjs/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
  172. package/cjs/highlevel/methods/stickers/create-sticker-set.js +2 -19
  173. package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  174. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
  175. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  176. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  177. package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  178. package/cjs/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
  179. package/cjs/highlevel/methods/stickers/get-installed-stickers.js +1 -2
  180. package/cjs/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  181. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
  182. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js +24 -0
  183. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
  184. package/cjs/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
  185. package/cjs/highlevel/methods/stickers/get-sticker-set.js +2 -2
  186. package/cjs/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  187. package/cjs/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
  188. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
  189. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  190. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
  191. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js +32 -0
  192. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
  193. package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
  194. package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
  195. package/cjs/highlevel/methods/stories/find-in-update.d.ts +5 -1
  196. package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
  197. package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  198. package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  199. package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  200. package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  201. package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
  202. package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  203. package/cjs/highlevel/methods/users/get-users.js.map +1 -1
  204. package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  205. package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  206. package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
  207. package/cjs/highlevel/methods/users/set-my-birthday.d.ts +12 -0
  208. package/cjs/highlevel/methods/users/set-my-birthday.js +22 -0
  209. package/cjs/highlevel/methods/users/set-my-birthday.js.map +1 -0
  210. package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  211. package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  212. package/cjs/highlevel/methods.d.ts +12 -0
  213. package/cjs/highlevel/methods.js +33 -3
  214. package/cjs/highlevel/methods.js.map +1 -1
  215. package/cjs/highlevel/storage/service/current-user.js +2 -0
  216. package/cjs/highlevel/storage/service/current-user.js.map +1 -1
  217. package/cjs/highlevel/storage/service/peers.js +5 -1
  218. package/cjs/highlevel/storage/service/peers.js.map +1 -1
  219. package/cjs/highlevel/storage/service/ref-messages.js +3 -0
  220. package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
  221. package/cjs/highlevel/storage/service/updates.js +1 -0
  222. package/cjs/highlevel/storage/service/updates.js.map +1 -1
  223. package/cjs/highlevel/storage/storage.d.ts +8 -3
  224. package/cjs/highlevel/storage/storage.js +17 -4
  225. package/cjs/highlevel/storage/storage.js.map +1 -1
  226. package/cjs/highlevel/types/auth/sent-code.d.ts +7 -2
  227. package/cjs/highlevel/types/auth/sent-code.js +15 -0
  228. package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
  229. package/cjs/highlevel/types/bots/game-high-score.js +2 -0
  230. package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
  231. package/cjs/highlevel/types/bots/inline-message/factories.d.ts +5 -1
  232. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
  233. package/cjs/highlevel/types/bots/inline-result/factories.d.ts +4 -1
  234. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
  235. package/cjs/highlevel/types/bots/keyboards/builder.js +2 -1
  236. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
  237. package/cjs/highlevel/types/bots/keyboards/factories.d.ts +7 -1
  238. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
  239. package/cjs/highlevel/types/calls/discard-reason.d.ts +5 -0
  240. package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
  241. package/cjs/highlevel/types/conversation.js +13 -7
  242. package/cjs/highlevel/types/conversation.js.map +1 -1
  243. package/cjs/highlevel/types/errors.js +3 -0
  244. package/cjs/highlevel/types/errors.js.map +1 -1
  245. package/cjs/highlevel/types/files/file-location.js +3 -0
  246. package/cjs/highlevel/types/files/file-location.js.map +1 -1
  247. package/cjs/highlevel/types/files/uploaded-file.d.ts +2 -0
  248. package/cjs/highlevel/types/files/uploaded-file.js +1 -1
  249. package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
  250. package/cjs/highlevel/types/files/utils.d.ts +6 -5
  251. package/cjs/highlevel/types/files/utils.js.map +1 -1
  252. package/cjs/highlevel/types/files/web-document.js +1 -0
  253. package/cjs/highlevel/types/files/web-document.js.map +1 -1
  254. package/cjs/highlevel/types/media/audio.js +3 -2
  255. package/cjs/highlevel/types/media/audio.js.map +1 -1
  256. package/cjs/highlevel/types/media/contact.js +2 -1
  257. package/cjs/highlevel/types/media/contact.js.map +1 -1
  258. package/cjs/highlevel/types/media/dice.js +125 -124
  259. package/cjs/highlevel/types/media/dice.js.map +1 -1
  260. package/cjs/highlevel/types/media/document-utils.d.ts +5 -0
  261. package/cjs/highlevel/types/media/document-utils.js +9 -2
  262. package/cjs/highlevel/types/media/document-utils.js.map +1 -1
  263. package/cjs/highlevel/types/media/document.js +2 -4
  264. package/cjs/highlevel/types/media/document.js.map +1 -1
  265. package/cjs/highlevel/types/media/game.js +2 -1
  266. package/cjs/highlevel/types/media/game.js.map +1 -1
  267. package/cjs/highlevel/types/media/input-media/types.d.ts +2 -2
  268. package/cjs/highlevel/types/media/input-media/types.js.map +1 -1
  269. package/cjs/highlevel/types/media/invoice.js +4 -1
  270. package/cjs/highlevel/types/media/invoice.js.map +1 -1
  271. package/cjs/highlevel/types/media/location.js +4 -5
  272. package/cjs/highlevel/types/media/location.js.map +1 -1
  273. package/cjs/highlevel/types/media/photo.js +8 -1
  274. package/cjs/highlevel/types/media/photo.js.map +1 -1
  275. package/cjs/highlevel/types/media/poll.d.ts +17 -6
  276. package/cjs/highlevel/types/media/poll.js +69 -19
  277. package/cjs/highlevel/types/media/poll.js.map +1 -1
  278. package/cjs/highlevel/types/media/sticker.js +3 -1
  279. package/cjs/highlevel/types/media/sticker.js.map +1 -1
  280. package/cjs/highlevel/types/media/story.js +3 -1
  281. package/cjs/highlevel/types/media/story.js.map +1 -1
  282. package/cjs/highlevel/types/media/thumbnail.js +35 -22
  283. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  284. package/cjs/highlevel/types/media/venue.js +2 -1
  285. package/cjs/highlevel/types/media/venue.js.map +1 -1
  286. package/cjs/highlevel/types/media/video.js +3 -1
  287. package/cjs/highlevel/types/media/video.js.map +1 -1
  288. package/cjs/highlevel/types/media/voice.js +2 -1
  289. package/cjs/highlevel/types/media/voice.js.map +1 -1
  290. package/cjs/highlevel/types/media/web-page.js +2 -1
  291. package/cjs/highlevel/types/media/web-page.js.map +1 -1
  292. package/cjs/highlevel/types/messages/dialog.js +4 -12
  293. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  294. package/cjs/highlevel/types/messages/draft-message.js +1 -0
  295. package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
  296. package/cjs/highlevel/types/messages/input-message-id.d.ts +5 -0
  297. package/cjs/highlevel/types/messages/message-action.d.ts +19 -2
  298. package/cjs/highlevel/types/messages/message-action.js +6 -0
  299. package/cjs/highlevel/types/messages/message-action.js.map +1 -1
  300. package/cjs/highlevel/types/messages/message-entity.js +2 -0
  301. package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
  302. package/cjs/highlevel/types/messages/message-forward.js +2 -0
  303. package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
  304. package/cjs/highlevel/types/messages/message-media.d.ts +4 -0
  305. package/cjs/highlevel/types/messages/message-media.js.map +1 -1
  306. package/cjs/highlevel/types/messages/message-reactions.js +4 -0
  307. package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
  308. package/cjs/highlevel/types/messages/message-replies.js +2 -0
  309. package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
  310. package/cjs/highlevel/types/messages/message.d.ts +59 -1
  311. package/cjs/highlevel/types/messages/message.js +102 -1
  312. package/cjs/highlevel/types/messages/message.js.map +1 -1
  313. package/cjs/highlevel/types/messages/replied-message.js +2 -0
  314. package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
  315. package/cjs/highlevel/types/misc/collectible-info.d.ts +27 -0
  316. package/cjs/highlevel/types/misc/collectible-info.js +46 -0
  317. package/cjs/highlevel/types/misc/collectible-info.js.map +1 -0
  318. package/cjs/highlevel/types/misc/entities.d.ts +7 -0
  319. package/cjs/highlevel/types/misc/entities.js +15 -0
  320. package/cjs/highlevel/types/misc/entities.js.map +1 -1
  321. package/cjs/highlevel/types/misc/index.d.ts +1 -0
  322. package/cjs/highlevel/types/misc/index.js +1 -0
  323. package/cjs/highlevel/types/misc/index.js.map +1 -1
  324. package/cjs/highlevel/types/misc/sticker-set.d.ts +8 -1
  325. package/cjs/highlevel/types/misc/sticker-set.js +43 -6
  326. package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
  327. package/cjs/highlevel/types/misc/takeout-session.js +5 -0
  328. package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
  329. package/cjs/highlevel/types/peers/chat-colors.js +2 -0
  330. package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
  331. package/cjs/highlevel/types/peers/chat-event/actions.d.ts +3 -0
  332. package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
  333. package/cjs/highlevel/types/peers/chat-event/filters.d.ts +2 -0
  334. package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
  335. package/cjs/highlevel/types/peers/chat-event/index.js +2 -0
  336. package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
  337. package/cjs/highlevel/types/peers/chat-invite-link-member.js +2 -0
  338. package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  339. package/cjs/highlevel/types/peers/chat-invite-link.js +2 -0
  340. package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
  341. package/cjs/highlevel/types/peers/chat-location.js +1 -0
  342. package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
  343. package/cjs/highlevel/types/peers/chat-member.js +2 -0
  344. package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
  345. package/cjs/highlevel/types/peers/chat-permissions.js +1 -0
  346. package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
  347. package/cjs/highlevel/types/peers/chat-photo.js +5 -0
  348. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  349. package/cjs/highlevel/types/peers/chat-preview.js +2 -0
  350. package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
  351. package/cjs/highlevel/types/peers/chat.d.ts +7 -93
  352. package/cjs/highlevel/types/peers/chat.js +10 -192
  353. package/cjs/highlevel/types/peers/chat.js.map +1 -1
  354. package/cjs/highlevel/types/peers/forum-topic.js +9 -6
  355. package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
  356. package/cjs/highlevel/types/peers/full-chat.d.ts +103 -0
  357. package/cjs/highlevel/types/peers/full-chat.js +237 -0
  358. package/cjs/highlevel/types/peers/full-chat.js.map +1 -0
  359. package/cjs/highlevel/types/peers/index.d.ts +1 -0
  360. package/cjs/highlevel/types/peers/index.js +1 -0
  361. package/cjs/highlevel/types/peers/index.js.map +1 -1
  362. package/cjs/highlevel/types/peers/peer.js.map +1 -1
  363. package/cjs/highlevel/types/peers/peers-index.js +3 -1
  364. package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
  365. package/cjs/highlevel/types/peers/user.d.ts +5 -0
  366. package/cjs/highlevel/types/peers/user.js +12 -1
  367. package/cjs/highlevel/types/peers/user.js.map +1 -1
  368. package/cjs/highlevel/types/premium/boost-slot.js +2 -0
  369. package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
  370. package/cjs/highlevel/types/premium/boost-stats.js +1 -0
  371. package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
  372. package/cjs/highlevel/types/premium/boost.js +2 -0
  373. package/cjs/highlevel/types/premium/boost.js.map +1 -1
  374. package/cjs/highlevel/types/premium/business-account.d.ts +19 -0
  375. package/cjs/highlevel/types/premium/business-account.js +45 -0
  376. package/cjs/highlevel/types/premium/business-account.js.map +1 -0
  377. package/cjs/highlevel/types/premium/business-chat-link.d.ts +19 -0
  378. package/cjs/highlevel/types/premium/business-chat-link.js +39 -0
  379. package/cjs/highlevel/types/premium/business-chat-link.js.map +1 -0
  380. package/cjs/highlevel/types/premium/business-connection.d.ts +23 -0
  381. package/cjs/highlevel/types/premium/business-connection.js +45 -0
  382. package/cjs/highlevel/types/premium/business-connection.js.map +1 -0
  383. package/cjs/highlevel/types/premium/business-intro.d.ts +22 -0
  384. package/cjs/highlevel/types/premium/business-intro.js +43 -0
  385. package/cjs/highlevel/types/premium/business-intro.js.map +1 -0
  386. package/cjs/highlevel/types/premium/business-location.d.ts +10 -0
  387. package/cjs/highlevel/types/premium/business-location.js +26 -0
  388. package/cjs/highlevel/types/premium/business-location.js.map +1 -0
  389. package/cjs/highlevel/types/premium/business-work-hours.d.ts +42 -0
  390. package/cjs/highlevel/types/premium/business-work-hours.js +141 -0
  391. package/cjs/highlevel/types/premium/business-work-hours.js.map +1 -0
  392. package/cjs/highlevel/types/premium/index.d.ts +5 -0
  393. package/cjs/highlevel/types/premium/index.js +5 -0
  394. package/cjs/highlevel/types/premium/index.js.map +1 -1
  395. package/cjs/highlevel/types/reactions/emoji-status.js +1 -0
  396. package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
  397. package/cjs/highlevel/types/reactions/peer-reaction.js +2 -0
  398. package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
  399. package/cjs/highlevel/types/reactions/reaction-count.js +1 -0
  400. package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
  401. package/cjs/highlevel/types/reactions/types.js.map +1 -1
  402. package/cjs/highlevel/types/stories/all-stories.d.ts +2 -2
  403. package/cjs/highlevel/types/stories/all-stories.js +3 -1
  404. package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
  405. package/cjs/highlevel/types/stories/interactive/base.js +1 -0
  406. package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
  407. package/cjs/highlevel/types/stories/interactive/channel-post.js +3 -1
  408. package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  409. package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
  410. package/cjs/highlevel/types/stories/interactive/input.js +1 -0
  411. package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
  412. package/cjs/highlevel/types/stories/interactive/location.js +2 -1
  413. package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
  414. package/cjs/highlevel/types/stories/interactive/reaction.js +2 -1
  415. package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
  416. package/cjs/highlevel/types/stories/interactive/venue.js +2 -1
  417. package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
  418. package/cjs/highlevel/types/stories/peer-stories.js +2 -0
  419. package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
  420. package/cjs/highlevel/types/stories/stealth-mode.js +1 -0
  421. package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
  422. package/cjs/highlevel/types/stories/story-interactions.js +2 -0
  423. package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
  424. package/cjs/highlevel/types/stories/story-viewer.d.ts +1 -1
  425. package/cjs/highlevel/types/stories/story-viewer.js +6 -0
  426. package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
  427. package/cjs/highlevel/types/stories/story.js +2 -0
  428. package/cjs/highlevel/types/stories/story.js.map +1 -1
  429. package/cjs/highlevel/types/updates/bot-chat-join-request.js +2 -0
  430. package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  431. package/cjs/highlevel/types/updates/bot-reaction.js +4 -0
  432. package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
  433. package/cjs/highlevel/types/updates/bot-stopped.js +2 -0
  434. package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
  435. package/cjs/highlevel/types/updates/business-message.d.ts +18 -0
  436. package/cjs/highlevel/types/updates/business-message.js +35 -0
  437. package/cjs/highlevel/types/updates/business-message.js.map +1 -0
  438. package/cjs/highlevel/types/updates/callback-query.js +4 -0
  439. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  440. package/cjs/highlevel/types/updates/chat-join-request.js +2 -0
  441. package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
  442. package/cjs/highlevel/types/updates/chat-member-update.js +2 -0
  443. package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
  444. package/cjs/highlevel/types/updates/chosen-inline-result.js +2 -0
  445. package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  446. package/cjs/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
  447. package/cjs/highlevel/types/updates/delete-business-message-update.js +37 -0
  448. package/cjs/highlevel/types/updates/delete-business-message-update.js.map +1 -0
  449. package/cjs/highlevel/types/updates/delete-message-update.js +1 -0
  450. package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
  451. package/cjs/highlevel/types/updates/delete-story-update.js +2 -0
  452. package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
  453. package/cjs/highlevel/types/updates/history-read-update.js +1 -0
  454. package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
  455. package/cjs/highlevel/types/updates/index.d.ts +19 -2
  456. package/cjs/highlevel/types/updates/index.js +5 -1
  457. package/cjs/highlevel/types/updates/index.js.map +1 -1
  458. package/cjs/highlevel/types/updates/inline-query.js +2 -0
  459. package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
  460. package/cjs/highlevel/types/updates/parse-update.d.ts +4 -1
  461. package/cjs/highlevel/types/updates/parse-update.js +8 -0
  462. package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
  463. package/cjs/highlevel/types/updates/poll-update.js +4 -2
  464. package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
  465. package/cjs/highlevel/types/updates/poll-vote.js +2 -0
  466. package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
  467. package/cjs/highlevel/types/updates/pre-checkout-query.js +2 -0
  468. package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  469. package/cjs/highlevel/types/updates/story-update.js +2 -0
  470. package/cjs/highlevel/types/updates/story-update.js.map +1 -1
  471. package/cjs/highlevel/types/updates/user-status-update.js +1 -0
  472. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  473. package/cjs/highlevel/types/updates/user-typing-update.js +1 -0
  474. package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
  475. package/cjs/highlevel/updates/manager.d.ts +0 -1
  476. package/cjs/highlevel/updates/manager.js +57 -30
  477. package/cjs/highlevel/updates/manager.js.map +1 -1
  478. package/cjs/highlevel/updates/parsed.js +8 -2
  479. package/cjs/highlevel/updates/parsed.js.map +1 -1
  480. package/cjs/highlevel/updates/types.d.ts +57 -0
  481. package/cjs/highlevel/updates/utils.d.ts +2 -0
  482. package/cjs/highlevel/updates/utils.js.map +1 -1
  483. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  484. package/cjs/highlevel/utils/entities.js.map +1 -1
  485. package/cjs/highlevel/utils/file-type.d.ts +1 -0
  486. package/cjs/highlevel/utils/file-type.js +35 -1
  487. package/cjs/highlevel/utils/file-type.js.map +1 -1
  488. package/cjs/highlevel/utils/file-utils.js +1 -1
  489. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  490. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  491. package/cjs/highlevel/utils/inspectable.js +7 -0
  492. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  493. package/cjs/highlevel/utils/memoize.js.map +1 -1
  494. package/cjs/highlevel/utils/peer-utils.js.map +1 -1
  495. package/cjs/highlevel/utils/query-batcher.js.map +1 -1
  496. package/cjs/highlevel/utils/rps-meter.js +3 -0
  497. package/cjs/highlevel/utils/rps-meter.js.map +1 -1
  498. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  499. package/cjs/highlevel/utils/string-session.d.ts +1 -2
  500. package/cjs/highlevel/utils/string-session.js +27 -7
  501. package/cjs/highlevel/utils/string-session.js.map +1 -1
  502. package/cjs/highlevel/utils/voice-utils.js.map +1 -1
  503. package/cjs/highlevel/worker/app-config.d.ts +2 -3
  504. package/cjs/highlevel/worker/app-config.js +6 -3
  505. package/cjs/highlevel/worker/app-config.js.map +1 -1
  506. package/cjs/highlevel/worker/errors.js.map +1 -1
  507. package/cjs/highlevel/worker/index.js +6 -0
  508. package/cjs/highlevel/worker/invoker.js +3 -2
  509. package/cjs/highlevel/worker/invoker.js.map +1 -1
  510. package/cjs/highlevel/worker/port.d.ts +16 -17
  511. package/cjs/highlevel/worker/port.js +74 -49
  512. package/cjs/highlevel/worker/port.js.map +1 -1
  513. package/cjs/highlevel/worker/protocol.d.ts +1 -2
  514. package/cjs/highlevel/worker/protocol.js.map +1 -1
  515. package/cjs/highlevel/worker/storage.d.ts +9 -13
  516. package/cjs/highlevel/worker/storage.js +34 -19
  517. package/cjs/highlevel/worker/storage.js.map +1 -1
  518. package/cjs/highlevel/worker/worker.js +3 -0
  519. package/cjs/highlevel/worker/worker.js.map +1 -1
  520. package/cjs/index.js +6 -0
  521. package/cjs/network/auth-key.js +8 -1
  522. package/cjs/network/auth-key.js.map +1 -1
  523. package/cjs/network/authorization.js.map +1 -1
  524. package/cjs/network/client.d.ts +0 -1
  525. package/cjs/network/client.js +39 -14
  526. package/cjs/network/client.js.map +1 -1
  527. package/cjs/network/config-manager.js.map +1 -1
  528. package/cjs/network/mtproto-session.d.ts +0 -1
  529. package/cjs/network/mtproto-session.js +40 -30
  530. package/cjs/network/mtproto-session.js.map +1 -1
  531. package/cjs/network/multi-session-connection.d.ts +1 -2
  532. package/cjs/network/multi-session-connection.js +13 -7
  533. package/cjs/network/multi-session-connection.js.map +1 -1
  534. package/cjs/network/network-manager.d.ts +10 -3
  535. package/cjs/network/network-manager.js +57 -31
  536. package/cjs/network/network-manager.js.map +1 -1
  537. package/cjs/network/persistent-connection.d.ts +2 -3
  538. package/cjs/network/persistent-connection.js +33 -22
  539. package/cjs/network/persistent-connection.js.map +1 -1
  540. package/cjs/network/server-salt.js +4 -5
  541. package/cjs/network/server-salt.js.map +1 -1
  542. package/cjs/network/session-connection.d.ts +1 -1
  543. package/cjs/network/session-connection.js +32 -12
  544. package/cjs/network/session-connection.js.map +1 -1
  545. package/cjs/network/transports/abstract.d.ts +1 -2
  546. package/cjs/network/transports/abstract.js +1 -0
  547. package/cjs/network/transports/abstract.js.map +1 -1
  548. package/cjs/network/transports/intermediate.js +1 -0
  549. package/cjs/network/transports/intermediate.js.map +1 -1
  550. package/cjs/network/transports/obfuscated.js +3 -0
  551. package/cjs/network/transports/obfuscated.js.map +1 -1
  552. package/cjs/network/transports/streamed.d.ts +0 -1
  553. package/cjs/network/transports/streamed.js +1 -4
  554. package/cjs/network/transports/streamed.js.map +1 -1
  555. package/cjs/network/transports/wrapped.d.ts +0 -1
  556. package/cjs/network/transports/wrapped.js +2 -0
  557. package/cjs/network/transports/wrapped.js.map +1 -1
  558. package/cjs/platform.js +6 -0
  559. package/cjs/platform.js.map +1 -1
  560. package/cjs/storage/driver.js +3 -4
  561. package/cjs/storage/driver.js.map +1 -1
  562. package/cjs/storage/memory/driver.js +1 -3
  563. package/cjs/storage/memory/driver.js.map +1 -1
  564. package/cjs/storage/memory/index.js +5 -7
  565. package/cjs/storage/memory/index.js.map +1 -1
  566. package/cjs/storage/memory/repository/auth-keys.d.ts +1 -1
  567. package/cjs/storage/memory/repository/auth-keys.js +2 -0
  568. package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
  569. package/cjs/storage/memory/repository/kv.d.ts +1 -1
  570. package/cjs/storage/memory/repository/kv.js +2 -0
  571. package/cjs/storage/memory/repository/kv.js.map +1 -1
  572. package/cjs/storage/memory/repository/peers.d.ts +1 -1
  573. package/cjs/storage/memory/repository/peers.js +2 -0
  574. package/cjs/storage/memory/repository/peers.js.map +1 -1
  575. package/cjs/storage/memory/repository/ref-messages.d.ts +1 -1
  576. package/cjs/storage/memory/repository/ref-messages.js +2 -0
  577. package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
  578. package/cjs/storage/service/auth-keys.js +2 -0
  579. package/cjs/storage/service/auth-keys.js.map +1 -1
  580. package/cjs/storage/service/base.js +4 -0
  581. package/cjs/storage/service/base.js.map +1 -1
  582. package/cjs/storage/service/default-dcs.js +2 -0
  583. package/cjs/storage/service/default-dcs.js.map +1 -1
  584. package/cjs/storage/service/future-salts.js +2 -1
  585. package/cjs/storage/service/future-salts.js.map +1 -1
  586. package/cjs/storage/sqlite/driver.js +10 -10
  587. package/cjs/storage/sqlite/driver.js.map +1 -1
  588. package/cjs/storage/sqlite/index.d.ts +1 -1
  589. package/cjs/storage/sqlite/index.js +5 -0
  590. package/cjs/storage/sqlite/index.js.map +1 -1
  591. package/cjs/storage/sqlite/repository/auth-keys.js +9 -0
  592. package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
  593. package/cjs/storage/sqlite/repository/kv.js +5 -0
  594. package/cjs/storage/sqlite/repository/kv.js.map +1 -1
  595. package/cjs/storage/sqlite/repository/peers.js +7 -2
  596. package/cjs/storage/sqlite/repository/peers.js.map +1 -1
  597. package/cjs/storage/sqlite/repository/ref-messages.d.ts +1 -1
  598. package/cjs/storage/sqlite/repository/ref-messages.js +6 -0
  599. package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
  600. package/cjs/storage/storage.d.ts +22 -3
  601. package/cjs/storage/storage.js +21 -13
  602. package/cjs/storage/storage.js.map +1 -1
  603. package/cjs/types/errors.js +13 -0
  604. package/cjs/types/errors.js.map +1 -1
  605. package/cjs/types/utils.d.ts +1 -0
  606. package/cjs/types/utils.js.map +1 -1
  607. package/cjs/utils/async-lock.js +1 -3
  608. package/cjs/utils/async-lock.js.map +1 -1
  609. package/cjs/utils/bigint-utils.js.map +1 -1
  610. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  611. package/cjs/utils/buffer-utils.js.map +1 -1
  612. package/cjs/utils/condition-variable.js +2 -0
  613. package/cjs/utils/condition-variable.js.map +1 -1
  614. package/cjs/utils/crypto/factorization.js.map +1 -1
  615. package/cjs/utils/crypto/keys.js.map +1 -1
  616. package/cjs/utils/crypto/miller-rabin.js.map +1 -1
  617. package/cjs/utils/crypto/password.js.map +1 -1
  618. package/cjs/utils/crypto/utils.js.map +1 -1
  619. package/cjs/utils/dcs.js +1 -1
  620. package/cjs/utils/dcs.js.map +1 -1
  621. package/cjs/utils/deque.js +8 -2
  622. package/cjs/utils/deque.js.map +1 -1
  623. package/cjs/utils/early-timer.js +4 -1
  624. package/cjs/utils/early-timer.js.map +1 -1
  625. package/cjs/utils/error-reporting.js.map +1 -1
  626. package/cjs/utils/function-utils.js.map +1 -1
  627. package/cjs/utils/index.js +6 -0
  628. package/cjs/utils/linked-list.js +4 -1
  629. package/cjs/utils/linked-list.js.map +1 -1
  630. package/cjs/utils/links/bots.js.map +1 -1
  631. package/cjs/utils/links/chat.js.map +1 -1
  632. package/cjs/utils/links/common.js.map +1 -1
  633. package/cjs/utils/links/misc.js.map +1 -1
  634. package/cjs/utils/logger.d.ts +2 -2
  635. package/cjs/utils/logger.js +21 -14
  636. package/cjs/utils/logger.js.map +1 -1
  637. package/cjs/utils/long-utils.js +2 -6
  638. package/cjs/utils/long-utils.js.map +1 -1
  639. package/cjs/utils/lru-map.js +5 -1
  640. package/cjs/utils/lru-map.js.map +1 -1
  641. package/cjs/utils/lru-set.js +4 -0
  642. package/cjs/utils/lru-set.js.map +1 -1
  643. package/cjs/utils/peer-utils.js.map +1 -1
  644. package/cjs/utils/reloadable.d.ts +0 -1
  645. package/cjs/utils/reloadable.js +10 -7
  646. package/cjs/utils/reloadable.js.map +1 -1
  647. package/cjs/utils/sorted-array.js +2 -0
  648. package/cjs/utils/sorted-array.js.map +1 -1
  649. package/cjs/utils/tl-json.js.map +1 -1
  650. package/cjs/utils/type-assertions.js.map +1 -1
  651. package/client.d.ts +1 -0
  652. package/client.js +1 -0
  653. package/esm/highlevel/base.d.ts +1 -1
  654. package/esm/highlevel/base.js +29 -23
  655. package/esm/highlevel/base.js.map +1 -1
  656. package/esm/highlevel/client.d.ts +199 -18
  657. package/esm/highlevel/client.js +48 -0
  658. package/esm/highlevel/client.js.map +1 -1
  659. package/esm/highlevel/managers/app-config-manager.js +7 -5
  660. package/esm/highlevel/managers/app-config-manager.js.map +1 -1
  661. package/esm/highlevel/methods/_imports.js.map +1 -1
  662. package/esm/highlevel/methods/_init.js.map +1 -1
  663. package/esm/highlevel/methods/auth/start-test.js.map +1 -1
  664. package/esm/highlevel/methods/auth/start.js.map +1 -1
  665. package/esm/highlevel/methods/auth/utils.d.ts +3 -0
  666. package/esm/highlevel/methods/auth/utils.js.map +1 -1
  667. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  668. package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  669. package/esm/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
  670. package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  671. package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
  672. package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
  673. package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  674. package/esm/highlevel/methods/chats/batched-queries.d.ts +10 -1
  675. package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
  676. package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  677. package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
  678. package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  679. package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
  680. package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
  681. package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  682. package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
  683. package/esm/highlevel/methods/chats/get-full-chat.d.ts +2 -2
  684. package/esm/highlevel/methods/chats/get-full-chat.js +2 -2
  685. package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
  686. package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  687. package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  688. package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  689. package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  690. package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
  691. package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  692. package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
  693. package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
  694. package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  695. package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  696. package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
  697. package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
  698. package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  699. package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
  700. package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  701. package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  702. package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  703. package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  704. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  705. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  706. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  707. package/esm/highlevel/methods/dialogs/get-folders.d.ts +3 -0
  708. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  709. package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  710. package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
  711. package/esm/highlevel/methods/files/download-iterable.js +1 -1
  712. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  713. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
  714. package/esm/highlevel/methods/files/download-stream.js.map +1 -1
  715. package/esm/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
  716. package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  717. package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
  718. package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -0
  719. package/esm/highlevel/methods/files/normalize-input-media.js +12 -12
  720. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  721. package/esm/highlevel/methods/files/upload-file.js +8 -7
  722. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  723. package/esm/highlevel/methods/files/upload-media.js.map +1 -1
  724. package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  725. package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  726. package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  727. package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  728. package/esm/highlevel/methods/messages/_business-connection.d.ts +7 -0
  729. package/esm/highlevel/methods/messages/_business-connection.js +38 -0
  730. package/esm/highlevel/methods/messages/_business-connection.js.map +1 -0
  731. package/esm/highlevel/methods/messages/close-poll.js +1 -1
  732. package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
  733. package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
  734. package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  735. package/esm/highlevel/methods/messages/edit-message.d.ts +1 -0
  736. package/esm/highlevel/methods/messages/edit-message.js +2 -1
  737. package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
  738. package/esm/highlevel/methods/messages/find-in-update.d.ts +13 -1
  739. package/esm/highlevel/methods/messages/find-in-update.js +7 -2
  740. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  741. package/esm/highlevel/methods/messages/forward-messages.d.ts +5 -0
  742. package/esm/highlevel/methods/messages/forward-messages.js +2 -0
  743. package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
  744. package/esm/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
  745. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js +25 -0
  746. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
  747. package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  748. package/esm/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
  749. package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  750. package/esm/highlevel/methods/messages/get-history.js +5 -1
  751. package/esm/highlevel/methods/messages/get-history.js.map +1 -1
  752. package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  753. package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
  754. package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  755. package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
  756. package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
  757. package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
  758. package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  759. package/esm/highlevel/methods/messages/iter-search-global.js +2 -1
  760. package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
  761. package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  762. package/esm/highlevel/methods/messages/read-history.js.map +1 -1
  763. package/esm/highlevel/methods/messages/search-global.d.ts +4 -0
  764. package/esm/highlevel/methods/messages/search-global.js +2 -1
  765. package/esm/highlevel/methods/messages/search-global.js.map +1 -1
  766. package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
  767. package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
  768. package/esm/highlevel/methods/messages/send-common.d.ts +28 -0
  769. package/esm/highlevel/methods/messages/send-common.js +19 -0
  770. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  771. package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
  772. package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
  773. package/esm/highlevel/methods/messages/send-media-group.js +5 -2
  774. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  775. package/esm/highlevel/methods/messages/send-media.js +4 -2
  776. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  777. package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
  778. package/esm/highlevel/methods/messages/send-text.js +4 -2
  779. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  780. package/esm/highlevel/methods/messages/send-typing.d.ts +4 -0
  781. package/esm/highlevel/methods/messages/send-typing.js +2 -1
  782. package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
  783. package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
  784. package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
  785. package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  786. package/esm/highlevel/methods/misc/chain-id.d.ts +4 -1
  787. package/esm/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
  788. package/esm/highlevel/methods/misc/get-collectible-info.js +22 -0
  789. package/esm/highlevel/methods/misc/get-collectible-info.js.map +1 -0
  790. package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  791. package/esm/highlevel/methods/misc/normalize-text.d.ts +5 -1
  792. package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
  793. package/esm/highlevel/methods/misc/with-params.js.map +1 -1
  794. package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
  795. package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  796. package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  797. package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  798. package/esm/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
  799. package/esm/highlevel/methods/premium/create-business-chat-link.js +22 -0
  800. package/esm/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
  801. package/esm/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
  802. package/esm/highlevel/methods/premium/edit-business-chat-link.js +37 -0
  803. package/esm/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
  804. package/esm/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
  805. package/esm/highlevel/methods/premium/get-business-chat-links.js +10 -0
  806. package/esm/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
  807. package/esm/highlevel/methods/premium/get-business-connection.d.ts +8 -0
  808. package/esm/highlevel/methods/premium/get-business-connection.js +21 -0
  809. package/esm/highlevel/methods/premium/get-business-connection.js.map +1 -0
  810. package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
  811. package/esm/highlevel/methods/premium/set-business-intro.d.ts +22 -0
  812. package/esm/highlevel/methods/premium/set-business-intro.js +38 -0
  813. package/esm/highlevel/methods/premium/set-business-intro.js.map +1 -0
  814. package/esm/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
  815. package/esm/highlevel/methods/premium/set-business-work-hours.js +29 -0
  816. package/esm/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
  817. package/esm/highlevel/methods/stickers/_utils.d.ts +10 -0
  818. package/esm/highlevel/methods/stickers/_utils.js +23 -0
  819. package/esm/highlevel/methods/stickers/_utils.js.map +1 -0
  820. package/esm/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
  821. package/esm/highlevel/methods/stickers/add-sticker-to-set.js +4 -18
  822. package/esm/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  823. package/esm/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
  824. package/esm/highlevel/methods/stickers/create-sticker-set.js +3 -20
  825. package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  826. package/esm/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
  827. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  828. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  829. package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  830. package/esm/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
  831. package/esm/highlevel/methods/stickers/get-installed-stickers.js +1 -2
  832. package/esm/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  833. package/esm/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
  834. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js +17 -0
  835. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
  836. package/esm/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
  837. package/esm/highlevel/methods/stickers/get-sticker-set.js +2 -2
  838. package/esm/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  839. package/esm/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
  840. package/esm/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
  841. package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  842. package/esm/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
  843. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js +28 -0
  844. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
  845. package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
  846. package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
  847. package/esm/highlevel/methods/stories/find-in-update.d.ts +5 -1
  848. package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
  849. package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  850. package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  851. package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  852. package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  853. package/esm/highlevel/methods/stories/send-story.js.map +1 -1
  854. package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  855. package/esm/highlevel/methods/users/get-users.js.map +1 -1
  856. package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  857. package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  858. package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
  859. package/esm/highlevel/methods/users/set-my-birthday.d.ts +12 -0
  860. package/esm/highlevel/methods/users/set-my-birthday.js +18 -0
  861. package/esm/highlevel/methods/users/set-my-birthday.js.map +1 -0
  862. package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  863. package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  864. package/esm/highlevel/methods.d.ts +12 -0
  865. package/esm/highlevel/methods.js +12 -0
  866. package/esm/highlevel/methods.js.map +1 -1
  867. package/esm/highlevel/storage/service/current-user.js +2 -0
  868. package/esm/highlevel/storage/service/current-user.js.map +1 -1
  869. package/esm/highlevel/storage/service/peers.js +5 -1
  870. package/esm/highlevel/storage/service/peers.js.map +1 -1
  871. package/esm/highlevel/storage/service/ref-messages.js +3 -0
  872. package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
  873. package/esm/highlevel/storage/service/updates.js +1 -0
  874. package/esm/highlevel/storage/service/updates.js.map +1 -1
  875. package/esm/highlevel/storage/storage.d.ts +8 -3
  876. package/esm/highlevel/storage/storage.js +17 -4
  877. package/esm/highlevel/storage/storage.js.map +1 -1
  878. package/esm/highlevel/types/auth/sent-code.d.ts +7 -2
  879. package/esm/highlevel/types/auth/sent-code.js +15 -0
  880. package/esm/highlevel/types/auth/sent-code.js.map +1 -1
  881. package/esm/highlevel/types/bots/game-high-score.js +2 -0
  882. package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
  883. package/esm/highlevel/types/bots/inline-message/factories.d.ts +5 -1
  884. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
  885. package/esm/highlevel/types/bots/inline-result/factories.d.ts +4 -1
  886. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
  887. package/esm/highlevel/types/bots/keyboards/builder.js +2 -1
  888. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
  889. package/esm/highlevel/types/bots/keyboards/factories.d.ts +7 -1
  890. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
  891. package/esm/highlevel/types/calls/discard-reason.d.ts +5 -0
  892. package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
  893. package/esm/highlevel/types/conversation.js +13 -7
  894. package/esm/highlevel/types/conversation.js.map +1 -1
  895. package/esm/highlevel/types/errors.js +3 -0
  896. package/esm/highlevel/types/errors.js.map +1 -1
  897. package/esm/highlevel/types/files/file-location.js +3 -0
  898. package/esm/highlevel/types/files/file-location.js.map +1 -1
  899. package/esm/highlevel/types/files/uploaded-file.d.ts +2 -0
  900. package/esm/highlevel/types/files/uploaded-file.js +1 -1
  901. package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
  902. package/esm/highlevel/types/files/utils.d.ts +6 -5
  903. package/esm/highlevel/types/files/utils.js.map +1 -1
  904. package/esm/highlevel/types/files/web-document.js +1 -0
  905. package/esm/highlevel/types/files/web-document.js.map +1 -1
  906. package/esm/highlevel/types/media/audio.js +3 -2
  907. package/esm/highlevel/types/media/audio.js.map +1 -1
  908. package/esm/highlevel/types/media/contact.js +2 -1
  909. package/esm/highlevel/types/media/contact.js.map +1 -1
  910. package/esm/highlevel/types/media/dice.js +125 -124
  911. package/esm/highlevel/types/media/dice.js.map +1 -1
  912. package/esm/highlevel/types/media/document-utils.d.ts +5 -0
  913. package/esm/highlevel/types/media/document-utils.js +7 -1
  914. package/esm/highlevel/types/media/document-utils.js.map +1 -1
  915. package/esm/highlevel/types/media/document.js +2 -4
  916. package/esm/highlevel/types/media/document.js.map +1 -1
  917. package/esm/highlevel/types/media/game.js +2 -1
  918. package/esm/highlevel/types/media/game.js.map +1 -1
  919. package/esm/highlevel/types/media/input-media/types.d.ts +2 -2
  920. package/esm/highlevel/types/media/input-media/types.js.map +1 -1
  921. package/esm/highlevel/types/media/invoice.js +4 -1
  922. package/esm/highlevel/types/media/invoice.js.map +1 -1
  923. package/esm/highlevel/types/media/location.js +4 -5
  924. package/esm/highlevel/types/media/location.js.map +1 -1
  925. package/esm/highlevel/types/media/photo.js +8 -1
  926. package/esm/highlevel/types/media/photo.js.map +1 -1
  927. package/esm/highlevel/types/media/poll.d.ts +17 -6
  928. package/esm/highlevel/types/media/poll.js +68 -18
  929. package/esm/highlevel/types/media/poll.js.map +1 -1
  930. package/esm/highlevel/types/media/sticker.js +3 -1
  931. package/esm/highlevel/types/media/sticker.js.map +1 -1
  932. package/esm/highlevel/types/media/story.js +3 -1
  933. package/esm/highlevel/types/media/story.js.map +1 -1
  934. package/esm/highlevel/types/media/thumbnail.js +35 -22
  935. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  936. package/esm/highlevel/types/media/venue.js +2 -1
  937. package/esm/highlevel/types/media/venue.js.map +1 -1
  938. package/esm/highlevel/types/media/video.js +3 -1
  939. package/esm/highlevel/types/media/video.js.map +1 -1
  940. package/esm/highlevel/types/media/voice.js +2 -1
  941. package/esm/highlevel/types/media/voice.js.map +1 -1
  942. package/esm/highlevel/types/media/web-page.js +2 -1
  943. package/esm/highlevel/types/media/web-page.js.map +1 -1
  944. package/esm/highlevel/types/messages/dialog.js +4 -12
  945. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  946. package/esm/highlevel/types/messages/draft-message.js +1 -0
  947. package/esm/highlevel/types/messages/draft-message.js.map +1 -1
  948. package/esm/highlevel/types/messages/input-message-id.d.ts +5 -0
  949. package/esm/highlevel/types/messages/message-action.d.ts +19 -2
  950. package/esm/highlevel/types/messages/message-action.js +6 -0
  951. package/esm/highlevel/types/messages/message-action.js.map +1 -1
  952. package/esm/highlevel/types/messages/message-entity.js +2 -0
  953. package/esm/highlevel/types/messages/message-entity.js.map +1 -1
  954. package/esm/highlevel/types/messages/message-forward.js +2 -0
  955. package/esm/highlevel/types/messages/message-forward.js.map +1 -1
  956. package/esm/highlevel/types/messages/message-media.d.ts +4 -0
  957. package/esm/highlevel/types/messages/message-media.js.map +1 -1
  958. package/esm/highlevel/types/messages/message-reactions.js +4 -0
  959. package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
  960. package/esm/highlevel/types/messages/message-replies.js +2 -0
  961. package/esm/highlevel/types/messages/message-replies.js.map +1 -1
  962. package/esm/highlevel/types/messages/message.d.ts +59 -1
  963. package/esm/highlevel/types/messages/message.js +102 -1
  964. package/esm/highlevel/types/messages/message.js.map +1 -1
  965. package/esm/highlevel/types/messages/replied-message.js +2 -0
  966. package/esm/highlevel/types/messages/replied-message.js.map +1 -1
  967. package/esm/highlevel/types/misc/collectible-info.d.ts +27 -0
  968. package/esm/highlevel/types/misc/collectible-info.js +43 -0
  969. package/esm/highlevel/types/misc/collectible-info.js.map +1 -0
  970. package/esm/highlevel/types/misc/entities.d.ts +7 -0
  971. package/esm/highlevel/types/misc/entities.js +13 -1
  972. package/esm/highlevel/types/misc/entities.js.map +1 -1
  973. package/esm/highlevel/types/misc/index.d.ts +1 -0
  974. package/esm/highlevel/types/misc/index.js +1 -0
  975. package/esm/highlevel/types/misc/index.js.map +1 -1
  976. package/esm/highlevel/types/misc/sticker-set.d.ts +8 -1
  977. package/esm/highlevel/types/misc/sticker-set.js +45 -8
  978. package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
  979. package/esm/highlevel/types/misc/takeout-session.js +5 -0
  980. package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
  981. package/esm/highlevel/types/peers/chat-colors.js +2 -0
  982. package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
  983. package/esm/highlevel/types/peers/chat-event/actions.d.ts +3 -0
  984. package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
  985. package/esm/highlevel/types/peers/chat-event/filters.d.ts +2 -0
  986. package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
  987. package/esm/highlevel/types/peers/chat-event/index.js +2 -0
  988. package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
  989. package/esm/highlevel/types/peers/chat-invite-link-member.js +2 -0
  990. package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  991. package/esm/highlevel/types/peers/chat-invite-link.js +2 -0
  992. package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
  993. package/esm/highlevel/types/peers/chat-location.js +1 -0
  994. package/esm/highlevel/types/peers/chat-location.js.map +1 -1
  995. package/esm/highlevel/types/peers/chat-member.js +2 -0
  996. package/esm/highlevel/types/peers/chat-member.js.map +1 -1
  997. package/esm/highlevel/types/peers/chat-permissions.js +1 -0
  998. package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
  999. package/esm/highlevel/types/peers/chat-photo.js +5 -0
  1000. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  1001. package/esm/highlevel/types/peers/chat-preview.js +2 -0
  1002. package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
  1003. package/esm/highlevel/types/peers/chat.d.ts +7 -93
  1004. package/esm/highlevel/types/peers/chat.js +10 -192
  1005. package/esm/highlevel/types/peers/chat.js.map +1 -1
  1006. package/esm/highlevel/types/peers/forum-topic.js +9 -6
  1007. package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
  1008. package/esm/highlevel/types/peers/full-chat.d.ts +103 -0
  1009. package/esm/highlevel/types/peers/full-chat.js +234 -0
  1010. package/esm/highlevel/types/peers/full-chat.js.map +1 -0
  1011. package/esm/highlevel/types/peers/index.d.ts +1 -0
  1012. package/esm/highlevel/types/peers/index.js +1 -0
  1013. package/esm/highlevel/types/peers/index.js.map +1 -1
  1014. package/esm/highlevel/types/peers/peer.js.map +1 -1
  1015. package/esm/highlevel/types/peers/peers-index.js +3 -1
  1016. package/esm/highlevel/types/peers/peers-index.js.map +1 -1
  1017. package/esm/highlevel/types/peers/user.d.ts +5 -0
  1018. package/esm/highlevel/types/peers/user.js +12 -1
  1019. package/esm/highlevel/types/peers/user.js.map +1 -1
  1020. package/esm/highlevel/types/premium/boost-slot.js +2 -0
  1021. package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
  1022. package/esm/highlevel/types/premium/boost-stats.js +1 -0
  1023. package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
  1024. package/esm/highlevel/types/premium/boost.js +2 -0
  1025. package/esm/highlevel/types/premium/boost.js.map +1 -1
  1026. package/esm/highlevel/types/premium/business-account.d.ts +19 -0
  1027. package/esm/highlevel/types/premium/business-account.js +42 -0
  1028. package/esm/highlevel/types/premium/business-account.js.map +1 -0
  1029. package/esm/highlevel/types/premium/business-chat-link.d.ts +19 -0
  1030. package/esm/highlevel/types/premium/business-chat-link.js +36 -0
  1031. package/esm/highlevel/types/premium/business-chat-link.js.map +1 -0
  1032. package/esm/highlevel/types/premium/business-connection.d.ts +23 -0
  1033. package/esm/highlevel/types/premium/business-connection.js +42 -0
  1034. package/esm/highlevel/types/premium/business-connection.js.map +1 -0
  1035. package/esm/highlevel/types/premium/business-intro.d.ts +22 -0
  1036. package/esm/highlevel/types/premium/business-intro.js +40 -0
  1037. package/esm/highlevel/types/premium/business-intro.js.map +1 -0
  1038. package/esm/highlevel/types/premium/business-location.d.ts +10 -0
  1039. package/esm/highlevel/types/premium/business-location.js +23 -0
  1040. package/esm/highlevel/types/premium/business-location.js.map +1 -0
  1041. package/esm/highlevel/types/premium/business-work-hours.d.ts +42 -0
  1042. package/esm/highlevel/types/premium/business-work-hours.js +137 -0
  1043. package/esm/highlevel/types/premium/business-work-hours.js.map +1 -0
  1044. package/esm/highlevel/types/premium/index.d.ts +5 -0
  1045. package/esm/highlevel/types/premium/index.js +5 -0
  1046. package/esm/highlevel/types/premium/index.js.map +1 -1
  1047. package/esm/highlevel/types/reactions/emoji-status.js +1 -0
  1048. package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
  1049. package/esm/highlevel/types/reactions/peer-reaction.js +2 -0
  1050. package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
  1051. package/esm/highlevel/types/reactions/reaction-count.js +1 -0
  1052. package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
  1053. package/esm/highlevel/types/reactions/types.js.map +1 -1
  1054. package/esm/highlevel/types/stories/all-stories.d.ts +2 -2
  1055. package/esm/highlevel/types/stories/all-stories.js +3 -1
  1056. package/esm/highlevel/types/stories/all-stories.js.map +1 -1
  1057. package/esm/highlevel/types/stories/interactive/base.js +1 -0
  1058. package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
  1059. package/esm/highlevel/types/stories/interactive/channel-post.js +3 -1
  1060. package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  1061. package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
  1062. package/esm/highlevel/types/stories/interactive/input.js +1 -0
  1063. package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
  1064. package/esm/highlevel/types/stories/interactive/location.js +2 -1
  1065. package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
  1066. package/esm/highlevel/types/stories/interactive/reaction.js +2 -1
  1067. package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
  1068. package/esm/highlevel/types/stories/interactive/venue.js +2 -1
  1069. package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
  1070. package/esm/highlevel/types/stories/peer-stories.js +2 -0
  1071. package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
  1072. package/esm/highlevel/types/stories/stealth-mode.js +1 -0
  1073. package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
  1074. package/esm/highlevel/types/stories/story-interactions.js +2 -0
  1075. package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
  1076. package/esm/highlevel/types/stories/story-viewer.d.ts +1 -1
  1077. package/esm/highlevel/types/stories/story-viewer.js +6 -0
  1078. package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
  1079. package/esm/highlevel/types/stories/story.js +2 -0
  1080. package/esm/highlevel/types/stories/story.js.map +1 -1
  1081. package/esm/highlevel/types/updates/bot-chat-join-request.js +2 -0
  1082. package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  1083. package/esm/highlevel/types/updates/bot-reaction.js +4 -0
  1084. package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
  1085. package/esm/highlevel/types/updates/bot-stopped.js +2 -0
  1086. package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
  1087. package/esm/highlevel/types/updates/business-message.d.ts +18 -0
  1088. package/esm/highlevel/types/updates/business-message.js +31 -0
  1089. package/esm/highlevel/types/updates/business-message.js.map +1 -0
  1090. package/esm/highlevel/types/updates/callback-query.js +4 -0
  1091. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  1092. package/esm/highlevel/types/updates/chat-join-request.js +2 -0
  1093. package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
  1094. package/esm/highlevel/types/updates/chat-member-update.js +2 -0
  1095. package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
  1096. package/esm/highlevel/types/updates/chosen-inline-result.js +2 -0
  1097. package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  1098. package/esm/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
  1099. package/esm/highlevel/types/updates/delete-business-message-update.js +34 -0
  1100. package/esm/highlevel/types/updates/delete-business-message-update.js.map +1 -0
  1101. package/esm/highlevel/types/updates/delete-message-update.js +1 -0
  1102. package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
  1103. package/esm/highlevel/types/updates/delete-story-update.js +2 -0
  1104. package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
  1105. package/esm/highlevel/types/updates/history-read-update.js +1 -0
  1106. package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
  1107. package/esm/highlevel/types/updates/index.d.ts +19 -2
  1108. package/esm/highlevel/types/updates/index.js +3 -1
  1109. package/esm/highlevel/types/updates/index.js.map +1 -1
  1110. package/esm/highlevel/types/updates/inline-query.js +2 -0
  1111. package/esm/highlevel/types/updates/inline-query.js.map +1 -1
  1112. package/esm/highlevel/types/updates/parse-update.d.ts +4 -1
  1113. package/esm/highlevel/types/updates/parse-update.js +9 -1
  1114. package/esm/highlevel/types/updates/parse-update.js.map +1 -1
  1115. package/esm/highlevel/types/updates/poll-update.js +4 -2
  1116. package/esm/highlevel/types/updates/poll-update.js.map +1 -1
  1117. package/esm/highlevel/types/updates/poll-vote.js +2 -0
  1118. package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
  1119. package/esm/highlevel/types/updates/pre-checkout-query.js +2 -0
  1120. package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  1121. package/esm/highlevel/types/updates/story-update.js +2 -0
  1122. package/esm/highlevel/types/updates/story-update.js.map +1 -1
  1123. package/esm/highlevel/types/updates/user-status-update.js +1 -0
  1124. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  1125. package/esm/highlevel/types/updates/user-typing-update.js +1 -0
  1126. package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
  1127. package/esm/highlevel/updates/manager.d.ts +0 -1
  1128. package/esm/highlevel/updates/manager.js +57 -30
  1129. package/esm/highlevel/updates/manager.js.map +1 -1
  1130. package/esm/highlevel/updates/parsed.js +8 -2
  1131. package/esm/highlevel/updates/parsed.js.map +1 -1
  1132. package/esm/highlevel/updates/types.d.ts +57 -0
  1133. package/esm/highlevel/updates/utils.d.ts +2 -0
  1134. package/esm/highlevel/updates/utils.js.map +1 -1
  1135. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  1136. package/esm/highlevel/utils/entities.js.map +1 -1
  1137. package/esm/highlevel/utils/file-type.d.ts +1 -0
  1138. package/esm/highlevel/utils/file-type.js +34 -0
  1139. package/esm/highlevel/utils/file-type.js.map +1 -1
  1140. package/esm/highlevel/utils/file-utils.js +1 -1
  1141. package/esm/highlevel/utils/file-utils.js.map +1 -1
  1142. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  1143. package/esm/highlevel/utils/inspectable.js +4 -0
  1144. package/esm/highlevel/utils/inspectable.js.map +1 -1
  1145. package/esm/highlevel/utils/memoize.js.map +1 -1
  1146. package/esm/highlevel/utils/peer-utils.js.map +1 -1
  1147. package/esm/highlevel/utils/query-batcher.js.map +1 -1
  1148. package/esm/highlevel/utils/rps-meter.js +3 -0
  1149. package/esm/highlevel/utils/rps-meter.js.map +1 -1
  1150. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  1151. package/esm/highlevel/utils/string-session.d.ts +1 -2
  1152. package/esm/highlevel/utils/string-session.js +27 -7
  1153. package/esm/highlevel/utils/string-session.js.map +1 -1
  1154. package/esm/highlevel/utils/voice-utils.js.map +1 -1
  1155. package/esm/highlevel/worker/app-config.d.ts +2 -3
  1156. package/esm/highlevel/worker/app-config.js +6 -3
  1157. package/esm/highlevel/worker/app-config.js.map +1 -1
  1158. package/esm/highlevel/worker/errors.js.map +1 -1
  1159. package/esm/highlevel/worker/invoker.js +3 -2
  1160. package/esm/highlevel/worker/invoker.js.map +1 -1
  1161. package/esm/highlevel/worker/port.d.ts +16 -17
  1162. package/esm/highlevel/worker/port.js +74 -49
  1163. package/esm/highlevel/worker/port.js.map +1 -1
  1164. package/esm/highlevel/worker/protocol.d.ts +1 -2
  1165. package/esm/highlevel/worker/protocol.js.map +1 -1
  1166. package/esm/highlevel/worker/storage.d.ts +9 -13
  1167. package/esm/highlevel/worker/storage.js +34 -19
  1168. package/esm/highlevel/worker/storage.js.map +1 -1
  1169. package/esm/highlevel/worker/worker.js +3 -0
  1170. package/esm/highlevel/worker/worker.js.map +1 -1
  1171. package/esm/network/auth-key.js +8 -1
  1172. package/esm/network/auth-key.js.map +1 -1
  1173. package/esm/network/authorization.js.map +1 -1
  1174. package/esm/network/client.d.ts +0 -1
  1175. package/esm/network/client.js +39 -14
  1176. package/esm/network/client.js.map +1 -1
  1177. package/esm/network/config-manager.js.map +1 -1
  1178. package/esm/network/mtproto-session.d.ts +0 -1
  1179. package/esm/network/mtproto-session.js +40 -30
  1180. package/esm/network/mtproto-session.js.map +1 -1
  1181. package/esm/network/multi-session-connection.d.ts +1 -2
  1182. package/esm/network/multi-session-connection.js +13 -7
  1183. package/esm/network/multi-session-connection.js.map +1 -1
  1184. package/esm/network/network-manager.d.ts +10 -3
  1185. package/esm/network/network-manager.js +57 -31
  1186. package/esm/network/network-manager.js.map +1 -1
  1187. package/esm/network/persistent-connection.d.ts +2 -3
  1188. package/esm/network/persistent-connection.js +33 -22
  1189. package/esm/network/persistent-connection.js.map +1 -1
  1190. package/esm/network/server-salt.js +4 -5
  1191. package/esm/network/server-salt.js.map +1 -1
  1192. package/esm/network/session-connection.d.ts +1 -1
  1193. package/esm/network/session-connection.js +32 -12
  1194. package/esm/network/session-connection.js.map +1 -1
  1195. package/esm/network/transports/abstract.d.ts +1 -2
  1196. package/esm/network/transports/abstract.js +1 -0
  1197. package/esm/network/transports/abstract.js.map +1 -1
  1198. package/esm/network/transports/intermediate.js +1 -0
  1199. package/esm/network/transports/intermediate.js.map +1 -1
  1200. package/esm/network/transports/obfuscated.js +3 -0
  1201. package/esm/network/transports/obfuscated.js.map +1 -1
  1202. package/esm/network/transports/streamed.d.ts +0 -1
  1203. package/esm/network/transports/streamed.js +1 -4
  1204. package/esm/network/transports/streamed.js.map +1 -1
  1205. package/esm/network/transports/wrapped.d.ts +0 -1
  1206. package/esm/network/transports/wrapped.js +2 -0
  1207. package/esm/network/transports/wrapped.js.map +1 -1
  1208. package/esm/platform.js.map +1 -1
  1209. package/esm/storage/driver.js +3 -4
  1210. package/esm/storage/driver.js.map +1 -1
  1211. package/esm/storage/memory/driver.js +1 -3
  1212. package/esm/storage/memory/driver.js.map +1 -1
  1213. package/esm/storage/memory/index.js +5 -7
  1214. package/esm/storage/memory/index.js.map +1 -1
  1215. package/esm/storage/memory/repository/auth-keys.d.ts +1 -1
  1216. package/esm/storage/memory/repository/auth-keys.js +2 -0
  1217. package/esm/storage/memory/repository/auth-keys.js.map +1 -1
  1218. package/esm/storage/memory/repository/kv.d.ts +1 -1
  1219. package/esm/storage/memory/repository/kv.js +2 -0
  1220. package/esm/storage/memory/repository/kv.js.map +1 -1
  1221. package/esm/storage/memory/repository/peers.d.ts +1 -1
  1222. package/esm/storage/memory/repository/peers.js +2 -0
  1223. package/esm/storage/memory/repository/peers.js.map +1 -1
  1224. package/esm/storage/memory/repository/ref-messages.d.ts +1 -1
  1225. package/esm/storage/memory/repository/ref-messages.js +2 -0
  1226. package/esm/storage/memory/repository/ref-messages.js.map +1 -1
  1227. package/esm/storage/service/auth-keys.js +2 -0
  1228. package/esm/storage/service/auth-keys.js.map +1 -1
  1229. package/esm/storage/service/base.js +4 -0
  1230. package/esm/storage/service/base.js.map +1 -1
  1231. package/esm/storage/service/default-dcs.js +2 -0
  1232. package/esm/storage/service/default-dcs.js.map +1 -1
  1233. package/esm/storage/service/future-salts.js +2 -1
  1234. package/esm/storage/service/future-salts.js.map +1 -1
  1235. package/esm/storage/sqlite/driver.js +10 -10
  1236. package/esm/storage/sqlite/driver.js.map +1 -1
  1237. package/esm/storage/sqlite/index.d.ts +1 -1
  1238. package/esm/storage/sqlite/index.js +5 -0
  1239. package/esm/storage/sqlite/index.js.map +1 -1
  1240. package/esm/storage/sqlite/repository/auth-keys.js +9 -0
  1241. package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
  1242. package/esm/storage/sqlite/repository/kv.js +5 -0
  1243. package/esm/storage/sqlite/repository/kv.js.map +1 -1
  1244. package/esm/storage/sqlite/repository/peers.js +7 -2
  1245. package/esm/storage/sqlite/repository/peers.js.map +1 -1
  1246. package/esm/storage/sqlite/repository/ref-messages.d.ts +1 -1
  1247. package/esm/storage/sqlite/repository/ref-messages.js +6 -0
  1248. package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
  1249. package/esm/storage/storage.d.ts +22 -3
  1250. package/esm/storage/storage.js +21 -13
  1251. package/esm/storage/storage.js.map +1 -1
  1252. package/esm/types/errors.js +13 -0
  1253. package/esm/types/errors.js.map +1 -1
  1254. package/esm/types/utils.d.ts +1 -0
  1255. package/esm/types/utils.js.map +1 -1
  1256. package/esm/utils/async-lock.js +1 -3
  1257. package/esm/utils/async-lock.js.map +1 -1
  1258. package/esm/utils/bigint-utils.js.map +1 -1
  1259. package/esm/utils/binary/asn1-parser.js.map +1 -1
  1260. package/esm/utils/buffer-utils.js.map +1 -1
  1261. package/esm/utils/condition-variable.js +2 -0
  1262. package/esm/utils/condition-variable.js.map +1 -1
  1263. package/esm/utils/crypto/factorization.js.map +1 -1
  1264. package/esm/utils/crypto/keys.js.map +1 -1
  1265. package/esm/utils/crypto/miller-rabin.js.map +1 -1
  1266. package/esm/utils/crypto/password.js.map +1 -1
  1267. package/esm/utils/crypto/utils.js.map +1 -1
  1268. package/esm/utils/dcs.js +1 -1
  1269. package/esm/utils/dcs.js.map +1 -1
  1270. package/esm/utils/deque.js +8 -2
  1271. package/esm/utils/deque.js.map +1 -1
  1272. package/esm/utils/early-timer.js +4 -1
  1273. package/esm/utils/early-timer.js.map +1 -1
  1274. package/esm/utils/error-reporting.js.map +1 -1
  1275. package/esm/utils/function-utils.js.map +1 -1
  1276. package/esm/utils/linked-list.js +4 -1
  1277. package/esm/utils/linked-list.js.map +1 -1
  1278. package/esm/utils/links/bots.js.map +1 -1
  1279. package/esm/utils/links/chat.js.map +1 -1
  1280. package/esm/utils/links/common.js.map +1 -1
  1281. package/esm/utils/links/misc.js.map +1 -1
  1282. package/esm/utils/logger.d.ts +2 -2
  1283. package/esm/utils/logger.js +21 -14
  1284. package/esm/utils/logger.js.map +1 -1
  1285. package/esm/utils/long-utils.js +2 -6
  1286. package/esm/utils/long-utils.js.map +1 -1
  1287. package/esm/utils/lru-map.js +5 -1
  1288. package/esm/utils/lru-map.js.map +1 -1
  1289. package/esm/utils/lru-set.js +4 -0
  1290. package/esm/utils/lru-set.js.map +1 -1
  1291. package/esm/utils/peer-utils.js.map +1 -1
  1292. package/esm/utils/reloadable.d.ts +0 -1
  1293. package/esm/utils/reloadable.js +10 -7
  1294. package/esm/utils/reloadable.js.map +1 -1
  1295. package/esm/utils/sorted-array.js +2 -0
  1296. package/esm/utils/sorted-array.js.map +1 -1
  1297. package/esm/utils/tl-json.js.map +1 -1
  1298. package/esm/utils/type-assertions.js.map +1 -1
  1299. package/index.d.ts +1 -0
  1300. package/index.js +1 -0
  1301. package/methods.d.ts +1 -0
  1302. package/methods.js +1 -0
  1303. package/package.json +13 -13
  1304. package/platform.d.ts +1 -0
  1305. package/platform.js +1 -0
  1306. package/utils.d.ts +1 -0
  1307. package/utils.js +1 -0
  1308. package/worker.d.ts +1 -0
  1309. package/worker.js +1 -0
@@ -17,9 +17,10 @@ function makeParsedUpdateHandler(params) {
17
17
  const parsed = (0, parse_update_js_1._parseUpdate)(update, peers);
18
18
  onRawUpdate(update, peers);
19
19
  if (parsed) {
20
- if (parsed.name === 'new_message') {
20
+ if (parsed.name === 'new_message' || parsed.name === 'new_business_message') {
21
21
  const group = parsed.data.groupedIdUnique;
22
22
  if (group) {
23
+ const isBusiness = parsed.name === 'new_business_message';
23
24
  const pendingGroup = pending.get(group);
24
25
  if (pendingGroup) {
25
26
  pendingGroup[0].push(parsed.data);
@@ -28,7 +29,12 @@ function makeParsedUpdateHandler(params) {
28
29
  const messages = [parsed.data];
29
30
  const timeout = setTimeout(() => {
30
31
  pending.delete(group);
31
- onUpdate({ name: 'message_group', data: messages });
32
+ if (isBusiness) {
33
+ onUpdate({ name: 'business_message_group', data: messages });
34
+ }
35
+ else {
36
+ onUpdate({ name: 'message_group', data: messages });
37
+ }
32
38
  }, messageGroupingInterval);
33
39
  pending.set(group, [messages, timeout]);
34
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parsed.js","sourceRoot":"","sources":["../../../../src/highlevel/updates/parsed.ts"],"names":[],"mappings":";;;AAEA,sEAA+D;AAkC/D,SAAgB,uBAAuB,CAAC,MAAiC;IACrE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,MAAM,CAAA;IAE5E,IAAI,CAAC,uBAAuB,EAAE;QAC1B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,IAAA,8BAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAE1C,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAC1B,IAAI,MAAM;gBAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC,CAAA;KACJ;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuC,CAAA;IAE9D,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,IAAA,8BAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAE1C,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAE1B,IAAI,MAAM,EAAE;YACR,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAA;gBAEzC,IAAI,KAAK,EAAE;oBACP,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBAEvC,IAAI,YAAY,EAAE;wBACd,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;qBACpC;yBAAM;wBACH,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;4BAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;4BACrB,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;wBACvD,CAAC,EAAE,uBAAuB,CAAC,CAAA;wBAE3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;qBAC1C;oBAED,OAAM;iBACT;aACJ;YAED,QAAQ,CAAC,MAAM,CAAC,CAAA;SACnB;IACL,CAAC,CAAA;AACL,CAAC;AA7CD,0DA6CC","sourcesContent":["import { Message } from '../types/messages/index.js'\nimport { ParsedUpdate } from '../types/updates/index.js'\nimport { _parseUpdate } from '../types/updates/parse-update.js'\nimport { RawUpdateHandler } from './types.js'\n\nexport interface ParsedUpdateHandlerParams {\n /**\n * When non-zero, allows the library to automatically handle Telegram\n * media groups (e.g. albums) in {@link MessageGroup} updates\n * in a given time interval (in ms).\n *\n * > **Note**: this does not catch messages that happen to be consecutive,\n * > only messages belonging to the same \"media group\".\n *\n * This will cause up to `messageGroupingInterval` delay\n * in handling media group messages.\n *\n * This option only applies to `new_message` updates,\n * and the updates being grouped **will not** be dispatched on their own.\n *\n * Recommended value is 250 ms.\n *\n * @default 0 (disabled)\n */\n messageGroupingInterval?: number\n\n /** Handler for parsed updates */\n onUpdate: (update: ParsedUpdate) => void\n /**\n * Handler for raw updates.\n *\n * Note that this handler will be called **before** the parsed update handler.\n */\n onRawUpdate?: RawUpdateHandler\n}\n\nexport function makeParsedUpdateHandler(params: ParsedUpdateHandlerParams): RawUpdateHandler {\n const { messageGroupingInterval, onUpdate, onRawUpdate = () => {} } = params\n\n if (!messageGroupingInterval) {\n return (update, peers) => {\n const parsed = _parseUpdate(update, peers)\n\n onRawUpdate(update, peers)\n if (parsed) onUpdate(parsed)\n }\n }\n\n const pending = new Map<string, [Message[], NodeJS.Timeout]>()\n\n return (update, peers) => {\n const parsed = _parseUpdate(update, peers)\n\n onRawUpdate(update, peers)\n\n if (parsed) {\n if (parsed.name === 'new_message') {\n const group = parsed.data.groupedIdUnique\n\n if (group) {\n const pendingGroup = pending.get(group)\n\n if (pendingGroup) {\n pendingGroup[0].push(parsed.data)\n } else {\n const messages = [parsed.data]\n const timeout = setTimeout(() => {\n pending.delete(group)\n onUpdate({ name: 'message_group', data: messages })\n }, messageGroupingInterval)\n\n pending.set(group, [messages, timeout])\n }\n\n return\n }\n }\n\n onUpdate(parsed)\n }\n }\n}\n"]}
1
+ {"version":3,"file":"parsed.js","sourceRoot":"","sources":["../../../../src/highlevel/updates/parsed.ts"],"names":[],"mappings":";;;AAEA,sEAA+D;AAkC/D,SAAgB,uBAAuB,CAAC,MAAiC;IACrE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,MAAM,CAAA;IAE5E,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,IAAA,8BAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAE1C,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAC1B,IAAI,MAAM;gBAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC,CAAA;IACL,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuC,CAAA;IAE9D,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,IAAA,8BAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAE1C,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAE1B,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAA;gBAEzC,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAA;oBACzD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBAEvC,IAAI,YAAY,EAAE,CAAC;wBACf,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBACrC,CAAC;yBAAM,CAAC;wBACJ,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;4BAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;4BAErB,IAAI,UAAU,EAAE,CAAC;gCACb,QAAQ,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAA6B,EAAE,CAAC,CAAA;4BACrF,CAAC;iCAAM,CAAC;gCACJ,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;4BACvD,CAAC;wBACL,CAAC,EAAE,uBAAuB,CAAC,CAAA;wBAE3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;oBAC3C,CAAC;oBAED,OAAM;gBACV,CAAC;YACL,CAAC;YAED,QAAQ,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAnDD,0DAmDC","sourcesContent":["import { Message } from '../types/messages/index.js'\nimport { BusinessMessage, ParsedUpdate } from '../types/updates/index.js'\nimport { _parseUpdate } from '../types/updates/parse-update.js'\nimport { RawUpdateHandler } from './types.js'\n\nexport interface ParsedUpdateHandlerParams {\n /**\n * When non-zero, allows the library to automatically handle Telegram\n * media groups (e.g. albums) in {@link MessageGroup} updates\n * in a given time interval (in ms).\n *\n * > **Note**: this does not catch messages that happen to be consecutive,\n * > only messages belonging to the same \"media group\".\n *\n * This will cause up to `messageGroupingInterval` delay\n * in handling media group messages.\n *\n * This option only applies to `new_message` updates,\n * and the updates being grouped **will not** be dispatched on their own.\n *\n * Recommended value is 250 ms.\n *\n * @default 0 (disabled)\n */\n messageGroupingInterval?: number\n\n /** Handler for parsed updates */\n onUpdate: (update: ParsedUpdate) => void\n /**\n * Handler for raw updates.\n *\n * Note that this handler will be called **before** the parsed update handler.\n */\n onRawUpdate?: RawUpdateHandler\n}\n\nexport function makeParsedUpdateHandler(params: ParsedUpdateHandlerParams): RawUpdateHandler {\n const { messageGroupingInterval, onUpdate, onRawUpdate = () => {} } = params\n\n if (!messageGroupingInterval) {\n return (update, peers) => {\n const parsed = _parseUpdate(update, peers)\n\n onRawUpdate(update, peers)\n if (parsed) onUpdate(parsed)\n }\n }\n\n const pending = new Map<string, [Message[], NodeJS.Timeout]>()\n\n return (update, peers) => {\n const parsed = _parseUpdate(update, peers)\n\n onRawUpdate(update, peers)\n\n if (parsed) {\n if (parsed.name === 'new_message' || parsed.name === 'new_business_message') {\n const group = parsed.data.groupedIdUnique\n\n if (group) {\n const isBusiness = parsed.name === 'new_business_message'\n const pendingGroup = pending.get(group)\n\n if (pendingGroup) {\n pendingGroup[0].push(parsed.data)\n } else {\n const messages = [parsed.data]\n const timeout = setTimeout(() => {\n pending.delete(group)\n\n if (isBusiness) {\n onUpdate({ name: 'business_message_group', data: messages as BusinessMessage[] })\n } else {\n onUpdate({ name: 'message_group', data: messages })\n }\n }, messageGroupingInterval)\n\n pending.set(group, [messages, timeout])\n }\n\n return\n }\n }\n\n onUpdate(parsed)\n }\n }\n}\n"]}
@@ -1,4 +1,6 @@
1
1
  import { tl } from '@mtcute/tl';
2
+ import { AsyncLock, ConditionVariable, Deque, EarlyTimer, Logger, SortedLinkedList } from '../../utils/index.js';
3
+ import { CurrentUserInfo } from '../storage/service/current-user.js';
2
4
  import { PeersIndex } from '../types/peers/peers-index.js';
3
5
  /**
4
6
  * Function to be called for each update.
@@ -46,3 +48,58 @@ export interface UpdatesManagerParams {
46
48
  */
47
49
  catchUp?: boolean;
48
50
  }
51
+ /** @internal */
52
+ export interface PendingUpdateContainer {
53
+ upd: tl.TypeUpdates;
54
+ seqStart: number;
55
+ seqEnd: number;
56
+ }
57
+ /** @internal */
58
+ export interface PendingUpdate {
59
+ update: tl.TypeUpdate;
60
+ channelId?: number;
61
+ pts?: number;
62
+ ptsBefore?: number;
63
+ qts?: number;
64
+ qtsBefore?: number;
65
+ timeout?: number;
66
+ peers: PeersIndex;
67
+ fromDifference: boolean;
68
+ }
69
+ /** @internal */
70
+ export interface UpdatesState {
71
+ updatesLoopActive: boolean;
72
+ updatesLoopCv: ConditionVariable;
73
+ postponedTimer: EarlyTimer;
74
+ hasTimedoutPostponed: boolean;
75
+ pendingUpdateContainers: SortedLinkedList<PendingUpdateContainer>;
76
+ pendingPtsUpdates: SortedLinkedList<PendingUpdate>;
77
+ pendingPtsUpdatesPostponed: SortedLinkedList<PendingUpdate>;
78
+ pendingQtsUpdates: SortedLinkedList<PendingUpdate>;
79
+ pendingQtsUpdatesPostponed: SortedLinkedList<PendingUpdate>;
80
+ pendingUnorderedUpdates: Deque<PendingUpdate>;
81
+ noDispatchEnabled: boolean;
82
+ noDispatchMsg: Map<number, Set<number>>;
83
+ noDispatchPts: Map<number, Set<number>>;
84
+ noDispatchQts: Set<number>;
85
+ lock: AsyncLock;
86
+ pts?: number;
87
+ qts?: number;
88
+ date?: number;
89
+ seq?: number;
90
+ oldPts?: number;
91
+ oldQts?: number;
92
+ oldDate?: number;
93
+ oldSeq?: number;
94
+ selfChanged: boolean;
95
+ catchUpChannels: boolean;
96
+ catchUpOnStart: boolean;
97
+ cpts: Map<number, number>;
98
+ cptsMod: Map<number, number>;
99
+ channelDiffTimeouts: Map<number, NodeJS.Timeout>;
100
+ channelsOpened: Map<number, number>;
101
+ log: Logger;
102
+ stop: () => void;
103
+ handler: RawUpdateHandler;
104
+ auth: CurrentUserInfo | null;
105
+ }
@@ -17,3 +17,5 @@ export declare function createDummyUpdatesContainer(updates: tl.TypeUpdate[], se
17
17
  * @param channelId Channel ID (bare), if applicable
18
18
  */
19
19
  export declare function createDummyUpdate(pts: number, ptsCount: number, channelId?: number): tl.TypeUpdates;
20
+ /** @internal */
21
+ export declare function assertIsUpdatesGroup(ctx: string, upd: tl.TypeUpdates): asserts upd is tl.RawUpdates | tl.RawUpdatesCombined;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/highlevel/updates/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../types/errors.js'\nimport { PeersIndex } from '../types/peers/peers-index.js'\nimport type { PendingUpdate } from './types.js'\n\nexport function messageToUpdate(message: tl.TypeMessage): tl.TypeUpdate {\n switch (message.peerId!._) {\n case 'peerUser':\n case 'peerChat':\n return {\n _: 'updateNewMessage',\n message,\n pts: 0,\n ptsCount: 0,\n }\n case 'peerChannel':\n return {\n _: 'updateNewChannelMessage',\n message,\n pts: 0,\n ptsCount: 0,\n }\n }\n}\n\nexport function extractChannelIdFromUpdate(upd: tl.TypeUpdate): number | undefined {\n // holy shit\n let res = 0\n\n if ('channelId' in upd) {\n res = upd.channelId\n } else if (\n 'message' in upd &&\n typeof upd.message !== 'string' &&\n 'peerId' in upd.message &&\n upd.message.peerId &&\n 'channelId' in upd.message.peerId\n ) {\n res = upd.message.peerId.channelId\n }\n\n if (res === 0) return undefined\n\n return res\n}\n\nexport function toPendingUpdate(upd: tl.TypeUpdate, peers: PeersIndex, fromDifference = false): PendingUpdate {\n const channelId = extractChannelIdFromUpdate(upd) || 0\n const pts = 'pts' in upd ? upd.pts : undefined\n // eslint-disable-next-line no-nested-ternary\n const ptsCount = 'ptsCount' in upd ? upd.ptsCount : pts ? 0 : undefined\n const qts = 'qts' in upd ? upd.qts : undefined\n\n return {\n update: upd,\n channelId,\n pts,\n ptsBefore: pts ? pts - ptsCount! : undefined,\n qts,\n qtsBefore: qts ? qts - 1 : undefined,\n peers,\n fromDifference,\n }\n}\n\nexport function isMessageEmpty(upd: tl.TypeUpdate): boolean {\n return (upd as Extract<typeof upd, { message: object }>).message?._ === 'messageEmpty'\n}\n\n// dummy updates which are used for methods that return messages.affectedHistory.\n// that is not an update, but it carries info about pts, and we need to handle it\n\n/**\n * Create a dummy `updates` container with given updates.\n */\nexport function createDummyUpdatesContainer(updates: tl.TypeUpdate[], seq = 0): tl.TypeUpdates {\n return {\n _: 'updates',\n seq,\n date: 0,\n chats: [],\n users: [],\n updates,\n }\n}\n\n/**\n * Create a dummy update from PTS and PTS count.\n *\n * @param pts PTS\n * @param ptsCount PTS count\n * @param channelId Channel ID (bare), if applicable\n */\nexport function createDummyUpdate(pts: number, ptsCount: number, channelId = 0): tl.TypeUpdates {\n return createDummyUpdatesContainer([\n {\n _: 'mtcute.dummyUpdate',\n channelId,\n pts,\n ptsCount,\n },\n ])\n}\n\n/** @internal */\nexport function assertIsUpdatesGroup(\n ctx: string,\n upd: tl.TypeUpdates,\n): asserts upd is tl.RawUpdates | tl.RawUpdatesCombined {\n switch (upd._) {\n case 'updates':\n case 'updatesCombined':\n return\n }\n throw new MtTypeAssertionError(ctx, 'updates | updatesCombined', upd._)\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/highlevel/updates/utils.ts"],"names":[],"mappings":";;;AAEA,qDAA4D;AAI5D,SAAgB,eAAe,CAAC,OAAuB;IACnD,QAAQ,OAAO,CAAC,MAAO,CAAC,CAAC,EAAE,CAAC;QACxB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACX,OAAO;gBACH,CAAC,EAAE,kBAAkB;gBACrB,OAAO;gBACP,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,CAAC;aACd,CAAA;QACL,KAAK,aAAa;YACd,OAAO;gBACH,CAAC,EAAE,yBAAyB;gBAC5B,OAAO;gBACP,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,CAAC;aACd,CAAA;IACT,CAAC;AACL,CAAC;AAlBD,0CAkBC;AAED,SAAgB,0BAA0B,CAAC,GAAkB;IACzD,YAAY;IACZ,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QACrB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAA;IACvB,CAAC;SAAM,IACH,SAAS,IAAI,GAAG;QAChB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,QAAQ,IAAI,GAAG,CAAC,OAAO;QACvB,GAAG,CAAC,OAAO,CAAC,MAAM;QAClB,WAAW,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EACnC,CAAC;QACC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;IACtC,CAAC;IAED,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAE/B,OAAO,GAAG,CAAA;AACd,CAAC;AAnBD,gEAmBC;AAED,SAAgB,eAAe,CAAC,GAAkB,EAAE,KAAiB,EAAE,cAAc,GAAG,KAAK;IACzF,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACtD,MAAM,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9C,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACvE,MAAM,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAE9C,OAAO;QACH,MAAM,EAAE,GAAG;QACX,SAAS;QACT,GAAG;QACH,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,QAAS,CAAC,CAAC,CAAC,SAAS;QAC5C,GAAG;QACH,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QACpC,KAAK;QACL,cAAc;KACjB,CAAA;AACL,CAAC;AAjBD,0CAiBC;AAED,SAAgB,cAAc,CAAC,GAAkB;IAC7C,OAAQ,GAAgD,CAAC,OAAO,EAAE,CAAC,KAAK,cAAc,CAAA;AAC1F,CAAC;AAFD,wCAEC;AAED,iFAAiF;AACjF,iFAAiF;AAEjF;;GAEG;AACH,SAAgB,2BAA2B,CAAC,OAAwB,EAAE,GAAG,GAAG,CAAC;IACzE,OAAO;QACH,CAAC,EAAE,SAAS;QACZ,GAAG;QACH,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,OAAO;KACV,CAAA;AACL,CAAC;AATD,kEASC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,GAAW,EAAE,QAAgB,EAAE,SAAS,GAAG,CAAC;IAC1E,OAAO,2BAA2B,CAAC;QAC/B;YACI,CAAC,EAAE,oBAAoB;YACvB,SAAS;YACT,GAAG;YACH,QAAQ;SACX;KACJ,CAAC,CAAA;AACN,CAAC;AATD,8CASC;AAED,gBAAgB;AAChB,SAAgB,oBAAoB,CAChC,GAAW,EACX,GAAmB;IAEnB,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,iBAAiB;YAClB,OAAM;IACd,CAAC;IACD,MAAM,IAAI,gCAAoB,CAAC,GAAG,EAAE,2BAA2B,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC;AAVD,oDAUC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../types/errors.js'\nimport { PeersIndex } from '../types/peers/peers-index.js'\nimport type { PendingUpdate } from './types.js'\n\nexport function messageToUpdate(message: tl.TypeMessage): tl.TypeUpdate {\n switch (message.peerId!._) {\n case 'peerUser':\n case 'peerChat':\n return {\n _: 'updateNewMessage',\n message,\n pts: 0,\n ptsCount: 0,\n }\n case 'peerChannel':\n return {\n _: 'updateNewChannelMessage',\n message,\n pts: 0,\n ptsCount: 0,\n }\n }\n}\n\nexport function extractChannelIdFromUpdate(upd: tl.TypeUpdate): number | undefined {\n // holy shit\n let res = 0\n\n if ('channelId' in upd) {\n res = upd.channelId\n } else if (\n 'message' in upd &&\n typeof upd.message !== 'string' &&\n 'peerId' in upd.message &&\n upd.message.peerId &&\n 'channelId' in upd.message.peerId\n ) {\n res = upd.message.peerId.channelId\n }\n\n if (res === 0) return undefined\n\n return res\n}\n\nexport function toPendingUpdate(upd: tl.TypeUpdate, peers: PeersIndex, fromDifference = false): PendingUpdate {\n const channelId = extractChannelIdFromUpdate(upd) || 0\n const pts = 'pts' in upd ? upd.pts : undefined\n // eslint-disable-next-line no-nested-ternary\n const ptsCount = 'ptsCount' in upd ? upd.ptsCount : pts ? 0 : undefined\n const qts = 'qts' in upd ? upd.qts : undefined\n\n return {\n update: upd,\n channelId,\n pts,\n ptsBefore: pts ? pts - ptsCount! : undefined,\n qts,\n qtsBefore: qts ? qts - 1 : undefined,\n peers,\n fromDifference,\n }\n}\n\nexport function isMessageEmpty(upd: tl.TypeUpdate): boolean {\n return (upd as Extract<typeof upd, { message: object }>).message?._ === 'messageEmpty'\n}\n\n// dummy updates which are used for methods that return messages.affectedHistory.\n// that is not an update, but it carries info about pts, and we need to handle it\n\n/**\n * Create a dummy `updates` container with given updates.\n */\nexport function createDummyUpdatesContainer(updates: tl.TypeUpdate[], seq = 0): tl.TypeUpdates {\n return {\n _: 'updates',\n seq,\n date: 0,\n chats: [],\n users: [],\n updates,\n }\n}\n\n/**\n * Create a dummy update from PTS and PTS count.\n *\n * @param pts PTS\n * @param ptsCount PTS count\n * @param channelId Channel ID (bare), if applicable\n */\nexport function createDummyUpdate(pts: number, ptsCount: number, channelId = 0): tl.TypeUpdates {\n return createDummyUpdatesContainer([\n {\n _: 'mtcute.dummyUpdate',\n channelId,\n pts,\n ptsCount,\n },\n ])\n}\n\n/** @internal */\nexport function assertIsUpdatesGroup(\n ctx: string,\n upd: tl.TypeUpdates,\n): asserts upd is tl.RawUpdates | tl.RawUpdatesCombined {\n switch (upd._) {\n case 'updates':\n case 'updatesCombined':\n return\n }\n throw new MtTypeAssertionError(ctx, 'updates | updatesCombined', upd._)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"convert-file-id.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/convert-file-id.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\n\nimport { parseFileId, tdFileId as td } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { parseMarkedPeerId } from '../../utils/peer-utils.js'\n\nimport FileType = td.FileType\nimport { getPlatform } from '../../platform.js'\nimport { assertNever } from '../../types/utils.js'\n\nconst EMPTY_BUFFER = new Uint8Array(0)\n\ntype FileId = td.RawFullRemoteFileLocation\n\nfunction dialogPhotoToInputPeer(\n dialog: td.RawPhotoSizeSourceDialogPhoto | td.RawPhotoSizeSourceDialogPhotoLegacy,\n): tl.TypeInputPeer {\n const markedPeerId = dialog.id\n const [peerType, peerId] = parseMarkedPeerId(markedPeerId)\n\n if (peerType === 'user') {\n return {\n _: 'inputPeerUser',\n userId: peerId,\n accessHash: dialog.accessHash,\n }\n } else if (peerType === 'chat') {\n return {\n _: 'inputPeerChat',\n chatId: peerId,\n }\n }\n\n return {\n _: 'inputPeerChannel',\n channelId: peerId,\n accessHash: dialog.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputWebFileLocation`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToInputWebFileLocation(fileId: string | FileId): tl.RawInputWebFileLocation {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (fileId.location._ !== 'web') {\n throw new td.ConversionError('inputWebFileLocation')\n }\n\n return {\n _: 'inputWebFileLocation',\n url: fileId.location.url,\n accessHash: fileId.location.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object representing an `InputFileLocation`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToInputFileLocation(fileId: string | FileId): tl.TypeInputFileLocation {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n const loc = fileId.location\n\n switch (loc._) {\n case 'web':\n throw new td.ConversionError('InputFileLocation')\n\n case 'photo': {\n switch (loc.source._) {\n case 'legacy':\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected legacy photo to have file reference')\n }\n\n // for some reason tdlib removed this thing altogether\n // https://github.com/tdlib/td/commit/4bb76a7b6f47bf9e0d0d01a72aac579ec73557ee#diff-8cc4f7c60a8261a8cf782e7fb51b95105bfb08710a1c2b63f80a48263ae0fb9bL401\n // still leaving this, but not sure if passing 0 as volume_id and local_id is correct at all lol\n return {\n _: 'inputPhotoLegacyFileLocation',\n fileReference: fileId.fileReference,\n id: loc.id,\n accessHash: loc.accessHash,\n volumeId: Long.ZERO,\n localId: 0,\n secret: loc.source.secret,\n }\n case 'thumbnail':\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected thumbnail photo to have file reference')\n }\n\n if (loc.source.fileType !== FileType.Photo && loc.source.fileType !== FileType.Thumbnail) {\n throw new td.InvalidFileIdError('Expected a thumbnail to have a correct file type')\n }\n\n return {\n _:\n loc.source.fileType === FileType.Photo ?\n 'inputPhotoFileLocation' :\n 'inputDocumentFileLocation',\n fileReference: fileId.fileReference,\n id: loc.id,\n accessHash: loc.accessHash,\n thumbSize: loc.source.thumbnailType,\n }\n case 'dialogPhoto':\n return {\n _: 'inputPeerPhotoFileLocation',\n big: loc.source.big,\n peer: dialogPhotoToInputPeer(loc.source),\n photoId: loc.id,\n }\n case 'stickerSetThumbnail':\n // this was also removed from tdlib:\n // https://github.com/tdlib/td/commit/4bb76a7b6f47bf9e0d0d01a72aac579ec73557ee#diff-8cc4f7c60a8261a8cf782e7fb51b95105bfb08710a1c2b63f80a48263ae0fb9bR432\n // also leaving this one though.\n return {\n _: 'inputStickerSetThumb',\n stickerset: {\n _: 'inputStickerSetID',\n id: loc.source.id,\n accessHash: loc.source.accessHash,\n },\n thumbVersion: 0,\n }\n case 'fullLegacy':\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected legacy photo to have file reference')\n }\n\n return {\n _: 'inputPhotoLegacyFileLocation',\n fileReference: fileId.fileReference,\n id: loc.id,\n accessHash: loc.accessHash,\n volumeId: loc.source.volumeId,\n localId: loc.source.localId,\n secret: loc.source.secret,\n }\n case 'dialogPhotoLegacy':\n return {\n _: 'inputPeerPhotoFileLocationLegacy',\n big: loc.source.big,\n peer: dialogPhotoToInputPeer(loc.source),\n volumeId: loc.source.volumeId,\n localId: loc.source.localId,\n }\n case 'stickerSetThumbnailLegacy':\n return {\n _: 'inputStickerSetThumbLegacy',\n stickerset: {\n _: 'inputStickerSetID',\n id: loc.source.id,\n accessHash: loc.source.accessHash,\n },\n volumeId: loc.source.volumeId,\n localId: loc.source.localId,\n }\n case 'stickerSetThumbnailVersion':\n return {\n _: 'inputStickerSetThumb',\n stickerset: {\n _: 'inputStickerSetID',\n id: loc.source.id,\n accessHash: loc.source.accessHash,\n },\n thumbVersion: loc.source.version,\n }\n default:\n assertNever(loc.source)\n }\n\n throw new td.ConversionError('inputFileLocation')\n }\n case 'common': {\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected common to have file reference')\n }\n\n if (fileId.type === FileType.Encrypted) {\n return {\n _: 'inputEncryptedFileLocation',\n id: loc.id,\n accessHash: loc.accessHash,\n }\n } else if (fileId.type === FileType.Secure || fileId.type === FileType.SecureRaw) {\n return {\n _: 'inputSecureFileLocation',\n id: loc.id,\n accessHash: loc.accessHash,\n }\n }\n\n return {\n _: 'inputDocumentFileLocation',\n fileReference: fileId.fileReference,\n id: loc.id,\n accessHash: loc.accessHash,\n thumbSize: '',\n }\n }\n default:\n assertNever(loc)\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputDocument`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToInputDocument(fileId: string | FileId): tl.RawInputDocument {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (\n fileId.location._ !== 'common' ||\n fileId.type === FileType.Secure ||\n fileId.type === FileType.SecureRaw ||\n fileId.type === FileType.Encrypted\n ) {\n throw new td.ConversionError('inputDocument')\n }\n\n let fileRef = fileId.fileReference\n\n if (!fileRef) {\n if (fileId.type === FileType.Sticker) {\n // older stickers' file IDs don't have file ref\n fileRef = EMPTY_BUFFER\n } else {\n throw new td.InvalidFileIdError('Expected document to have file reference')\n }\n }\n\n return {\n _: 'inputDocument',\n fileReference: fileRef,\n id: fileId.location.id,\n accessHash: fileId.location.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputPhoto`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToInputPhoto(fileId: string | FileId): tl.RawInputPhoto {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (fileId.location._ !== 'photo') {\n throw new td.ConversionError('inputPhoto')\n }\n\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected photo to have file reference')\n }\n\n return {\n _: 'inputPhoto',\n fileReference: fileId.fileReference,\n id: fileId.location.id,\n accessHash: fileId.location.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputEncryptedFile`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToEncryptedFile(fileId: string | FileId): tl.RawInputEncryptedFile {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (fileId.location._ !== 'common' || fileId.type !== FileType.Encrypted) {\n throw new td.ConversionError('inputEncryptedFile')\n }\n\n return {\n _: 'inputEncryptedFile',\n id: fileId.location.id,\n accessHash: fileId.location.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputSecureFile`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToSecureFile(fileId: string | FileId): tl.RawInputSecureFile {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (fileId.location._ !== 'common' || (fileId.type !== FileType.Secure && fileId.type !== FileType.SecureRaw)) {\n throw new td.ConversionError('inputSecureFile')\n }\n\n return {\n _: 'inputSecureFile',\n id: fileId.location.id,\n accessHash: fileId.location.accessHash,\n }\n}\n"]}
1
+ {"version":3,"file":"convert-file-id.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/convert-file-id.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\n\nimport { parseFileId, tdFileId as td } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { parseMarkedPeerId } from '../../utils/peer-utils.js'\n\nimport FileType = td.FileType\nimport { getPlatform } from '../../platform.js'\nimport { assertNever } from '../../types/utils.js'\n\nconst EMPTY_BUFFER = new Uint8Array(0)\n\ntype FileId = td.RawFullRemoteFileLocation\n\nfunction dialogPhotoToInputPeer(\n dialog: td.RawPhotoSizeSourceDialogPhoto | td.RawPhotoSizeSourceDialogPhotoLegacy,\n): tl.TypeInputPeer {\n const markedPeerId = dialog.id\n const [peerType, peerId] = parseMarkedPeerId(markedPeerId)\n\n if (peerType === 'user') {\n return {\n _: 'inputPeerUser',\n userId: peerId,\n accessHash: dialog.accessHash,\n }\n } else if (peerType === 'chat') {\n return {\n _: 'inputPeerChat',\n chatId: peerId,\n }\n }\n\n return {\n _: 'inputPeerChannel',\n channelId: peerId,\n accessHash: dialog.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputWebFileLocation`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToInputWebFileLocation(fileId: string | FileId): tl.RawInputWebFileLocation {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (fileId.location._ !== 'web') {\n throw new td.ConversionError('inputWebFileLocation')\n }\n\n return {\n _: 'inputWebFileLocation',\n url: fileId.location.url,\n accessHash: fileId.location.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object representing an `InputFileLocation`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToInputFileLocation(fileId: string | FileId): tl.TypeInputFileLocation {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n const loc = fileId.location\n\n switch (loc._) {\n case 'web':\n throw new td.ConversionError('InputFileLocation')\n\n case 'photo': {\n switch (loc.source._) {\n case 'legacy':\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected legacy photo to have file reference')\n }\n\n // for some reason tdlib removed this thing altogether\n // https://github.com/tdlib/td/commit/4bb76a7b6f47bf9e0d0d01a72aac579ec73557ee#diff-8cc4f7c60a8261a8cf782e7fb51b95105bfb08710a1c2b63f80a48263ae0fb9bL401\n // still leaving this, but not sure if passing 0 as volume_id and local_id is correct at all lol\n return {\n _: 'inputPhotoLegacyFileLocation',\n fileReference: fileId.fileReference,\n id: loc.id,\n accessHash: loc.accessHash,\n volumeId: Long.ZERO,\n localId: 0,\n secret: loc.source.secret,\n }\n case 'thumbnail':\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected thumbnail photo to have file reference')\n }\n\n if (loc.source.fileType !== FileType.Photo && loc.source.fileType !== FileType.Thumbnail) {\n throw new td.InvalidFileIdError('Expected a thumbnail to have a correct file type')\n }\n\n return {\n _:\n loc.source.fileType === FileType.Photo ?\n 'inputPhotoFileLocation' :\n 'inputDocumentFileLocation',\n fileReference: fileId.fileReference,\n id: loc.id,\n accessHash: loc.accessHash,\n thumbSize: loc.source.thumbnailType,\n }\n case 'dialogPhoto':\n return {\n _: 'inputPeerPhotoFileLocation',\n big: loc.source.big,\n peer: dialogPhotoToInputPeer(loc.source),\n photoId: loc.id,\n }\n case 'stickerSetThumbnail':\n // this was also removed from tdlib:\n // https://github.com/tdlib/td/commit/4bb76a7b6f47bf9e0d0d01a72aac579ec73557ee#diff-8cc4f7c60a8261a8cf782e7fb51b95105bfb08710a1c2b63f80a48263ae0fb9bR432\n // also leaving this one though.\n return {\n _: 'inputStickerSetThumb',\n stickerset: {\n _: 'inputStickerSetID',\n id: loc.source.id,\n accessHash: loc.source.accessHash,\n },\n thumbVersion: 0,\n }\n case 'fullLegacy':\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected legacy photo to have file reference')\n }\n\n return {\n _: 'inputPhotoLegacyFileLocation',\n fileReference: fileId.fileReference,\n id: loc.id,\n accessHash: loc.accessHash,\n volumeId: loc.source.volumeId,\n localId: loc.source.localId,\n secret: loc.source.secret,\n }\n case 'dialogPhotoLegacy':\n return {\n _: 'inputPeerPhotoFileLocationLegacy',\n big: loc.source.big,\n peer: dialogPhotoToInputPeer(loc.source),\n volumeId: loc.source.volumeId,\n localId: loc.source.localId,\n }\n case 'stickerSetThumbnailLegacy':\n return {\n _: 'inputStickerSetThumbLegacy',\n stickerset: {\n _: 'inputStickerSetID',\n id: loc.source.id,\n accessHash: loc.source.accessHash,\n },\n volumeId: loc.source.volumeId,\n localId: loc.source.localId,\n }\n case 'stickerSetThumbnailVersion':\n return {\n _: 'inputStickerSetThumb',\n stickerset: {\n _: 'inputStickerSetID',\n id: loc.source.id,\n accessHash: loc.source.accessHash,\n },\n thumbVersion: loc.source.version,\n }\n default:\n assertNever(loc.source)\n }\n\n throw new td.ConversionError('inputFileLocation')\n }\n case 'common': {\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected common to have file reference')\n }\n\n if (fileId.type === FileType.Encrypted) {\n return {\n _: 'inputEncryptedFileLocation',\n id: loc.id,\n accessHash: loc.accessHash,\n }\n } else if (fileId.type === FileType.Secure || fileId.type === FileType.SecureRaw) {\n return {\n _: 'inputSecureFileLocation',\n id: loc.id,\n accessHash: loc.accessHash,\n }\n }\n\n return {\n _: 'inputDocumentFileLocation',\n fileReference: fileId.fileReference,\n id: loc.id,\n accessHash: loc.accessHash,\n thumbSize: '',\n }\n }\n default:\n assertNever(loc)\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputDocument`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToInputDocument(fileId: string | FileId): tl.RawInputDocument {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (\n fileId.location._ !== 'common' ||\n fileId.type === FileType.Secure ||\n fileId.type === FileType.SecureRaw ||\n fileId.type === FileType.Encrypted\n ) {\n throw new td.ConversionError('inputDocument')\n }\n\n let fileRef = fileId.fileReference\n\n if (!fileRef) {\n if (fileId.type === FileType.Sticker) {\n // older stickers' file IDs don't have file ref\n fileRef = EMPTY_BUFFER\n } else {\n throw new td.InvalidFileIdError('Expected document to have file reference')\n }\n }\n\n return {\n _: 'inputDocument',\n fileReference: fileRef,\n id: fileId.location.id,\n accessHash: fileId.location.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputPhoto`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToInputPhoto(fileId: string | FileId): tl.RawInputPhoto {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (fileId.location._ !== 'photo') {\n throw new td.ConversionError('inputPhoto')\n }\n\n if (!fileId.fileReference) {\n throw new td.InvalidFileIdError('Expected photo to have file reference')\n }\n\n return {\n _: 'inputPhoto',\n fileReference: fileId.fileReference,\n id: fileId.location.id,\n accessHash: fileId.location.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputEncryptedFile`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToEncryptedFile(fileId: string | FileId): tl.RawInputEncryptedFile {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (fileId.location._ !== 'common' || fileId.type !== FileType.Encrypted) {\n throw new td.ConversionError('inputEncryptedFile')\n }\n\n return {\n _: 'inputEncryptedFile',\n id: fileId.location.id,\n accessHash: fileId.location.accessHash,\n }\n}\n\n/**\n * Convert a file ID or {@link tdFileId.RawFullRemoteFileLocation}\n * to TL object `inputSecureFile`\n *\n * @param fileId File ID, either parsed or as a string\n */\nexport function fileIdToSecureFile(fileId: string | FileId): tl.RawInputSecureFile {\n if (typeof fileId === 'string') fileId = parseFileId(getPlatform(), fileId)\n\n if (fileId.location._ !== 'common' || (fileId.type !== FileType.Secure && fileId.type !== FileType.SecureRaw)) {\n throw new td.ConversionError('inputSecureFile')\n }\n\n return {\n _: 'inputSecureFile',\n id: fileId.location.id,\n accessHash: fileId.location.accessHash,\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/entities.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,oBAAoB,CAChC,KAAoC,EACpC,QAAmC,EAAE;IAErC,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,WAAW,GAA2B,EAAE,CAAA;IAE9C,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;KAC1B;IAED,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAE,EAAE;QACxC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,MAAM,cAAc,GAAG,QAAQ,CAAA;QAC/B,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QAE5B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAChC,WAAW,CAAC,IAAI,CAAC;oBACb,GAAG,MAAM;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,cAAc;iBACzC,CAAC,CAAA;aACL;SACJ;IACL,CAAC,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,IAAI,QAAQ,GAAG,CAAC,EAAE;YACd,QAAQ,CAAC,KAAK,CAAC,CAAA;SAClB;QAED,QAAQ,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;KAC7D;IAED,OAAO;QACH,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,QAAQ,EAAE,WAAW;KACxB,CAAA;AACL,CAAC;AAxCD,oDAwCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { TextWithEntities } from '../types/misc/entities.js'\n\n/**\n * Join multiple text parts with entities into a single text with entities,\n * adjusting the entities' offsets accordingly.\n *\n * @param parts List of text parts with entities\n * @param delim Delimiter to insert between parts\n * @returns A single text with entities\n * @example\n *\n * ```ts\n * const scoreboardText = joinTextWithEntities(\n * apiResult.scoreboard.map((entry) => html`<b>${entry.name}</b>: ${entry.score}`),\n * html`<br>`\n * )\n * await tg.sendText(chatId, html`<b>scoreboard:</b><br><br>${scoreboardText}`)\n * ```\n */\nexport function joinTextWithEntities(\n parts: (string | TextWithEntities)[],\n delim: string | TextWithEntities = '',\n): TextWithEntities {\n const textParts: string[] = []\n const newEntities: tl.TypeMessageEntity[] = []\n\n let position = 0\n\n if (typeof delim === 'string') {\n delim = { text: delim }\n }\n\n const pushPart = (part: TextWithEntities) => {\n textParts.push(part.text)\n const entitiesOffset = position\n position += part.text.length\n\n if (part.entities) {\n for (const entity of part.entities) {\n newEntities.push({\n ...entity,\n offset: entity.offset + entitiesOffset,\n })\n }\n }\n }\n\n for (const part of parts) {\n if (position > 0) {\n pushPart(delim)\n }\n\n pushPart(typeof part === 'string' ? { text: part } : part)\n }\n\n return {\n text: textParts.join(''),\n entities: newEntities,\n }\n}\n"]}
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/entities.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,oBAAoB,CAChC,KAAoC,EACpC,QAAmC,EAAE;IAErC,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,WAAW,GAA2B,EAAE,CAAA;IAE9C,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAE,EAAE;QACxC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,MAAM,cAAc,GAAG,QAAQ,CAAA;QAC/B,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QAE5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,WAAW,CAAC,IAAI,CAAC;oBACb,GAAG,MAAM;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,cAAc;iBACzC,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IACL,CAAC,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QAED,QAAQ,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO;QACH,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,QAAQ,EAAE,WAAW;KACxB,CAAA;AACL,CAAC;AAxCD,oDAwCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { TextWithEntities } from '../types/misc/entities.js'\n\n/**\n * Join multiple text parts with entities into a single text with entities,\n * adjusting the entities' offsets accordingly.\n *\n * @param parts List of text parts with entities\n * @param delim Delimiter to insert between parts\n * @returns A single text with entities\n * @example\n *\n * ```ts\n * const scoreboardText = joinTextWithEntities(\n * apiResult.scoreboard.map((entry) => html`<b>${entry.name}</b>: ${entry.score}`),\n * html`<br>`\n * )\n * await tg.sendText(chatId, html`<b>scoreboard:</b><br><br>${scoreboardText}`)\n * ```\n */\nexport function joinTextWithEntities(\n parts: (string | TextWithEntities)[],\n delim: string | TextWithEntities = '',\n): TextWithEntities {\n const textParts: string[] = []\n const newEntities: tl.TypeMessageEntity[] = []\n\n let position = 0\n\n if (typeof delim === 'string') {\n delim = { text: delim }\n }\n\n const pushPart = (part: TextWithEntities) => {\n textParts.push(part.text)\n const entitiesOffset = position\n position += part.text.length\n\n if (part.entities) {\n for (const entity of part.entities) {\n newEntities.push({\n ...entity,\n offset: entity.offset + entitiesOffset,\n })\n }\n }\n }\n\n for (const part of parts) {\n if (position > 0) {\n pushPart(delim)\n }\n\n pushPart(typeof part === 'string' ? { text: part } : part)\n }\n\n return {\n text: textParts.join(''),\n entities: newEntities,\n }\n}\n"]}
@@ -1 +1,2 @@
1
1
  export declare function guessFileMime(chunk: Uint8Array): string | null;
2
+ export declare const MIME_TO_EXTENSION: Record<string, string | undefined>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.guessFileMime = void 0;
3
+ exports.MIME_TO_EXTENSION = exports.guessFileMime = void 0;
4
4
  function guessFileMime(chunk) {
5
5
  if (chunk.length < 12)
6
6
  return null;
@@ -136,4 +136,38 @@ function guessFileMime(chunk) {
136
136
  return null;
137
137
  }
138
138
  exports.guessFileMime = guessFileMime;
139
+ exports.MIME_TO_EXTENSION = {
140
+ 'image/bmp': 'bmp',
141
+ 'application/x-msdownload': 'exe',
142
+ 'application/x-compress': 'z',
143
+ 'application/gzip': 'gz',
144
+ 'application/x-bzip2': 'bz2',
145
+ 'audio/mpeg': 'mp3',
146
+ 'application/zip': 'zip',
147
+ 'image/vnd.adobe.photoshop': 'psd',
148
+ 'application/zstd': 'zst',
149
+ 'audio/x-flac': 'flac',
150
+ 'image/jpeg': 'jpg',
151
+ 'audio/ogg': 'ogg',
152
+ 'video/ogg': 'ogv',
153
+ 'application/ogg': 'ogg',
154
+ 'application/pdf': 'pdf',
155
+ 'image/gif': 'gif',
156
+ 'application/x-7z-compressed': '7z',
157
+ 'image/png': 'png',
158
+ 'application/x-rar-compressed': 'rar',
159
+ 'image/avif': 'avif',
160
+ 'image/heif': 'heif',
161
+ 'image/heif-sequence': 'heif',
162
+ 'image/heic': 'heic',
163
+ 'image/heic-sequence': 'heic',
164
+ 'video/quicktime': 'mov',
165
+ 'video/x-m4v': 'm4v',
166
+ 'audio/x-m4a': 'm4a',
167
+ 'audio/mp4': 'm4a',
168
+ 'image/x-canon-cr3': 'cr3',
169
+ 'video/3gpp2': '3g2',
170
+ 'video/3gpp': '3gp',
171
+ 'video/mp4': 'mp4',
172
+ };
139
173
  //# sourceMappingURL=file-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-type.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/file-type.ts"],"names":[],"mappings":"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","sourcesContent":["export function guessFileMime(chunk: Uint8Array): string | null {\n if (chunk.length < 12) return null\n\n // 2-byte magic numbers\n const b0 = chunk[0]\n const b1 = chunk[1]\n if (b0 === 0x42 && b1 === 0x4d) return 'image/bmp'\n if (b0 === 0x4d && b1 === 0x5a) return 'application/x-msdownload'\n if (b0 === 0x1f && (b1 === 0x9d || b1 === 0xa0)) return 'application/x-compress'\n if (b0 === 0x1f && b1 === 0x8b) return 'application/gzip'\n\n // 3-byte magic numbers\n const b2 = chunk[2]\n if (b0 === 0x42 && b1 === 0x5a && b2 === 0x68) return 'application/x-bzip2'\n if (b0 === 0x49 && b1 === 0x44 && b2 === 0x33) return 'audio/mpeg' // ID3v2\n if (b0 === 0xff && (b1 === 0xfb || b1 === 0xf3 || b1 === 0xf2)) return 'audio/mpeg'\n\n // 4-byte magic numbers\n const b3 = chunk[3]\n if (b0 === 0x50 && b1 === 0x4b && b2 === 0x03 && b3 === 0x04) return 'application/zip'\n if (b0 === 0x38 && b1 === 0x42 && b2 === 0x50 && b3 === 0x53) return 'image/vnd.adobe.photoshop'\n if (b0 === 0x7f && b1 === 0x45 && b2 === 0x4c && b3 === 0x46) return 'application/x-elf'\n if (b0 === 0xfe && b1 === 0xed && b2 === 0xfa && b3 === 0xcf) return 'application/x-mach-binary'\n if (b0 === 0x28 && b1 === 0xb5 && b2 === 0x2f && b3 === 0xfd) return 'application/zstd'\n if (b0 === 0x66 && b1 === 0x4c && b2 === 0x61 && b3 === 0x43) return 'audio/x-flac'\n\n if (b0 === 0xff && b1 === 0xd8 && b2 === 0xff && (b3 === 0xdb || b3 === 0xe0 || b3 === 0xee || b3 === 0xe1)) {\n return 'image/jpeg'\n }\n\n // OggS\n if (b0 === 0x4f && b1 === 0x67 && b2 === 0x67 && b3 === 0x53) {\n // 28-36 bytes: type\n if (chunk.length > 36) {\n const type = String.fromCharCode(...chunk.subarray(28, 36))\n if (type === 'OpusHead') return 'audio/ogg' // not audio/opus because Telegram is dumb\n if (type.startsWith('\\x80theora')) return 'video/ogg'\n if (type.startsWith('\\x01video')) return 'video/ogg'\n if (type.startsWith('\\x7fFLAC')) return 'audio/ogg'\n if (type.startsWith('Speex ')) return 'audio/ogg'\n if (type.startsWith('\\x01vorbis')) return 'audio/ogg'\n }\n\n return 'application/ogg'\n }\n\n // 5-byte magic numbers\n const b4 = chunk[4]\n if (b0 === 0x25 && b1 === 0x50 && b2 === 0x44 && b3 === 0x46 && b4 === 0x2d) return 'application/pdf'\n\n // 6-byte magic numbers\n const b5 = chunk[5]\n\n if (b0 === 0x47 && b1 === 0x49 && b2 === 0x46 && b3 === 0x38) {\n if ((b4 === 0x37 || b4 === 0x39) && b5 === 0x61) return 'image/gif'\n }\n if (b0 === 0x37 && b1 === 0x7a && b2 === 0xbc && b3 === 0xaf && b4 === 0x27 && b5 === 0x1c) {\n return 'application/x-7z-compressed'\n }\n\n // 8-byte magic numbers\n const b6 = chunk[6]\n const b7 = chunk[7]\n\n if (\n b0 === 0x89 &&\n b1 === 0x50 &&\n b2 === 0x4e &&\n b3 === 0x47 &&\n b4 === 0x0d &&\n b5 === 0x0a &&\n b6 === 0x1a &&\n b7 === 0x0a\n ) {\n return 'image/png'\n }\n\n if (b0 === 0x52 && b1 === 0x61 && b2 === 0x72 && b3 === 0x21 && b4 === 0x1a && b5 === 0x07) {\n if (b6 === 0x00 || b6 === 0x01) return 'application/x-rar-compressed'\n }\n\n // ftyp - iso container\n if (b4 === 0x66 && b5 === 0x74 && b6 === 0x79 && b7 === 0x70 && chunk[8] & 0x60) {\n const brandMajor = String.fromCharCode(...chunk.subarray(8, 12))\n .replace(/\\0/g, ' ')\n .trim()\n\n switch (brandMajor) {\n case 'avif':\n case 'avis':\n return 'image/avif'\n case 'mif1':\n return 'image/heif'\n case 'msf1':\n return 'image/heif-sequence'\n case 'heic':\n case 'heix':\n return 'image/heic'\n case 'hevc':\n case 'hevx':\n return 'image/heic-sequence'\n case 'qt':\n return 'video/quicktime'\n case 'M4V':\n case 'M4VH':\n case 'M4VP':\n return 'video/x-m4v'\n case 'M4A':\n return 'audio/x-m4a'\n case 'M4B':\n case 'F4A':\n case 'F4B':\n return 'audio/mp4'\n case 'crx':\n return 'image/x-canon-cr3'\n default:\n if (brandMajor.startsWith('3g')) {\n if (brandMajor.startsWith('3g2')) {\n return 'video/3gpp2'\n }\n\n return 'video/3gpp'\n }\n\n return 'video/mp4'\n }\n }\n\n return null\n}\n"]}
1
+ {"version":3,"file":"file-type.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/file-type.ts"],"names":[],"mappings":"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","sourcesContent":["export function guessFileMime(chunk: Uint8Array): string | null {\n if (chunk.length < 12) return null\n\n // 2-byte magic numbers\n const b0 = chunk[0]\n const b1 = chunk[1]\n if (b0 === 0x42 && b1 === 0x4d) return 'image/bmp'\n if (b0 === 0x4d && b1 === 0x5a) return 'application/x-msdownload'\n if (b0 === 0x1f && (b1 === 0x9d || b1 === 0xa0)) return 'application/x-compress'\n if (b0 === 0x1f && b1 === 0x8b) return 'application/gzip'\n\n // 3-byte magic numbers\n const b2 = chunk[2]\n if (b0 === 0x42 && b1 === 0x5a && b2 === 0x68) return 'application/x-bzip2'\n if (b0 === 0x49 && b1 === 0x44 && b2 === 0x33) return 'audio/mpeg' // ID3v2\n if (b0 === 0xff && (b1 === 0xfb || b1 === 0xf3 || b1 === 0xf2)) return 'audio/mpeg'\n\n // 4-byte magic numbers\n const b3 = chunk[3]\n if (b0 === 0x50 && b1 === 0x4b && b2 === 0x03 && b3 === 0x04) return 'application/zip'\n if (b0 === 0x38 && b1 === 0x42 && b2 === 0x50 && b3 === 0x53) return 'image/vnd.adobe.photoshop'\n if (b0 === 0x7f && b1 === 0x45 && b2 === 0x4c && b3 === 0x46) return 'application/x-elf'\n if (b0 === 0xfe && b1 === 0xed && b2 === 0xfa && b3 === 0xcf) return 'application/x-mach-binary'\n if (b0 === 0x28 && b1 === 0xb5 && b2 === 0x2f && b3 === 0xfd) return 'application/zstd'\n if (b0 === 0x66 && b1 === 0x4c && b2 === 0x61 && b3 === 0x43) return 'audio/x-flac'\n\n if (b0 === 0xff && b1 === 0xd8 && b2 === 0xff && (b3 === 0xdb || b3 === 0xe0 || b3 === 0xee || b3 === 0xe1)) {\n return 'image/jpeg'\n }\n\n // OggS\n if (b0 === 0x4f && b1 === 0x67 && b2 === 0x67 && b3 === 0x53) {\n // 28-36 bytes: type\n if (chunk.length > 36) {\n const type = String.fromCharCode(...chunk.subarray(28, 36))\n if (type === 'OpusHead') return 'audio/ogg' // not audio/opus because Telegram is dumb\n if (type.startsWith('\\x80theora')) return 'video/ogg'\n if (type.startsWith('\\x01video')) return 'video/ogg'\n if (type.startsWith('\\x7fFLAC')) return 'audio/ogg'\n if (type.startsWith('Speex ')) return 'audio/ogg'\n if (type.startsWith('\\x01vorbis')) return 'audio/ogg'\n }\n\n return 'application/ogg'\n }\n\n // 5-byte magic numbers\n const b4 = chunk[4]\n if (b0 === 0x25 && b1 === 0x50 && b2 === 0x44 && b3 === 0x46 && b4 === 0x2d) return 'application/pdf'\n\n // 6-byte magic numbers\n const b5 = chunk[5]\n\n if (b0 === 0x47 && b1 === 0x49 && b2 === 0x46 && b3 === 0x38) {\n if ((b4 === 0x37 || b4 === 0x39) && b5 === 0x61) return 'image/gif'\n }\n if (b0 === 0x37 && b1 === 0x7a && b2 === 0xbc && b3 === 0xaf && b4 === 0x27 && b5 === 0x1c) {\n return 'application/x-7z-compressed'\n }\n\n // 8-byte magic numbers\n const b6 = chunk[6]\n const b7 = chunk[7]\n\n if (\n b0 === 0x89 &&\n b1 === 0x50 &&\n b2 === 0x4e &&\n b3 === 0x47 &&\n b4 === 0x0d &&\n b5 === 0x0a &&\n b6 === 0x1a &&\n b7 === 0x0a\n ) {\n return 'image/png'\n }\n\n if (b0 === 0x52 && b1 === 0x61 && b2 === 0x72 && b3 === 0x21 && b4 === 0x1a && b5 === 0x07) {\n if (b6 === 0x00 || b6 === 0x01) return 'application/x-rar-compressed'\n }\n\n // ftyp - iso container\n if (b4 === 0x66 && b5 === 0x74 && b6 === 0x79 && b7 === 0x70 && chunk[8] & 0x60) {\n const brandMajor = String.fromCharCode(...chunk.subarray(8, 12))\n .replace(/\\0/g, ' ')\n .trim()\n\n switch (brandMajor) {\n case 'avif':\n case 'avis':\n return 'image/avif'\n case 'mif1':\n return 'image/heif'\n case 'msf1':\n return 'image/heif-sequence'\n case 'heic':\n case 'heix':\n return 'image/heic'\n case 'hevc':\n case 'hevx':\n return 'image/heic-sequence'\n case 'qt':\n return 'video/quicktime'\n case 'M4V':\n case 'M4VH':\n case 'M4VP':\n return 'video/x-m4v'\n case 'M4A':\n return 'audio/x-m4a'\n case 'M4B':\n case 'F4A':\n case 'F4B':\n return 'audio/mp4'\n case 'crx':\n return 'image/x-canon-cr3'\n default:\n if (brandMajor.startsWith('3g')) {\n if (brandMajor.startsWith('3g2')) {\n return 'video/3gpp2'\n }\n\n return 'video/3gpp'\n }\n\n return 'video/mp4'\n }\n }\n\n return null\n}\n\nexport const MIME_TO_EXTENSION: Record<string, string | undefined> = {\n 'image/bmp': 'bmp',\n 'application/x-msdownload': 'exe',\n 'application/x-compress': 'z',\n 'application/gzip': 'gz',\n 'application/x-bzip2': 'bz2',\n 'audio/mpeg': 'mp3',\n 'application/zip': 'zip',\n 'image/vnd.adobe.photoshop': 'psd',\n 'application/zstd': 'zst',\n 'audio/x-flac': 'flac',\n 'image/jpeg': 'jpg',\n 'audio/ogg': 'ogg',\n 'video/ogg': 'ogv',\n 'application/ogg': 'ogg',\n 'application/pdf': 'pdf',\n 'image/gif': 'gif',\n 'application/x-7z-compressed': '7z',\n 'image/png': 'png',\n 'application/x-rar-compressed': 'rar',\n 'image/avif': 'avif',\n 'image/heif': 'heif',\n 'image/heif-sequence': 'heif',\n 'image/heic': 'heic',\n 'image/heic-sequence': 'heic',\n 'video/quicktime': 'mov',\n 'video/x-m4v': 'm4v',\n 'audio/x-m4a': 'm4a',\n 'audio/mp4': 'm4a',\n 'image/x-canon-cr3': 'cr3',\n 'video/3gpp2': '3g2',\n 'video/3gpp': '3gp',\n 'video/mp4': 'mp4',\n}\n"]}
@@ -117,7 +117,7 @@ exports.svgPathToFile = svgPathToFile;
117
117
  function extractFileName(path) {
118
118
  if (path.startsWith('file:'))
119
119
  path = path.slice(5);
120
- return path.split(/[\\/]/).pop();
120
+ return path.split(/[\\/]/).pop().split('?')[0];
121
121
  }
122
122
  exports.extractFileName = extractFileName;
123
123
  //# sourceMappingURL=file-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/file-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { getPlatform } from '../../platform.js'\nimport { MtArgumentError } from '../../types/errors.js'\nimport { concatBuffers } from '../../utils/buffer-utils.js'\n\n/**\n * Given file size, determine the appropriate chunk size (in KB)\n * for upload/download operations.\n */\nexport function determinePartSize(fileSize: number): number {\n if (fileSize <= 262078465) return 128 // 200 MB\n if (fileSize <= 786432000) return 256 // 750 MB\n if (fileSize <= 2097152000) return 512 // 2000 MB\n\n throw new MtArgumentError('File is too large')\n}\n\n/**\n * Returns `true` if all bytes in `buf` are printable ASCII characters\n */\nexport function isProbablyPlainText(buf: Uint8Array): boolean {\n return !buf.some(\n (it) =>\n !(\n (\n (it >= 0x20 && it < 0x7f) || // printable ascii range\n it === 0x0d || // CR\n it === 0x0a || // LF\n it === 0x09\n ) // Tab\n ),\n )\n}\n\n// from https://github.com/telegramdesktop/tdesktop/blob/bec39d89e19670eb436dc794a8f20b657cb87c71/Telegram/SourceFiles/ui/image/image.cpp#L225\nconst JPEG_HEADER = () => getPlatform().hexDecode(\n 'ffd8ffe000104a46494600010100000100010000ffdb004300281c1e231e1928' +\n '2321232d2b28303c64413c37373c7b585d4964918099968f808c8aa0b4e6c3a0aad' +\n 'aad8a8cc8ffcbdaeef5ffffff9bc1fffffffaffe6fdfff8ffdb0043012b2d2d3c35' +\n '3c76414176f8a58ca5f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f' +\n '8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8ffc0001108000000' +\n '0003012200021101031101ffc4001f0000010501010101010100000000000000000' +\n '102030405060708090a0bffc400b5100002010303020403050504040000017d0102' +\n '0300041105122131410613516107227114328191a1082342b1c11552d1f02433627' +\n '282090a161718191a25262728292a3435363738393a434445464748494a53545556' +\n '5758595a636465666768696a737475767778797a838485868788898a92939495969' +\n '798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4' +\n 'd5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030' +\n '101010101010101010000000000000102030405060708090a0bffc400b511000201' +\n '0204040304070504040001027700010203110405213106124151076171132232810' +\n '8144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a3536' +\n '3738393a434445464748494a535455565758595a636465666768696a73747576777' +\n '8797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5' +\n 'b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f' +\n '3f4f5f6f7f8f9faffda000c03010002110311003f00',\n)\nlet JPEG_HEADER_BYTES: Uint8Array | null = null\nconst JPEG_FOOTER = new Uint8Array([0xff, 0xd9])\n\n/**\n * Convert stripped JPEG (from `photoStrippedSize`) to full JPEG\n */\nexport function strippedPhotoToJpg(stripped: Uint8Array): Uint8Array {\n if (stripped.length < 3 || stripped[0] !== 1) {\n throw new MtArgumentError('Invalid stripped JPEG')\n }\n\n if (JPEG_HEADER_BYTES === null) {\n JPEG_HEADER_BYTES = JPEG_HEADER()\n }\n\n const result = concatBuffers([JPEG_HEADER_BYTES, stripped.slice(3), JPEG_FOOTER])\n result[164] = stripped[1]\n result[166] = stripped[2]\n\n return result\n}\n\nconst SVG_LOOKUP = 'AACAAAAHAAALMAAAQASTAVAAAZaacaaaahaaalmaaaqastava.az0123456789-,'\n\n/**\n * Inflate compressed preview SVG path to full SVG path\n * @param encoded\n */\nexport function inflateSvgPath(encoded: Uint8Array): string {\n let path = 'M'\n const len = encoded.length\n\n for (let i = 0; i < len; i++) {\n const num = encoded[i]\n\n if (num >= 192) {\n // 128 + 64\n path += SVG_LOOKUP[num - 192]\n } else {\n if (num >= 128) {\n path += ','\n } else if (num >= 64) {\n path += '-'\n }\n\n path += num & 63\n }\n }\n\n path += 'z'\n\n return path\n}\n\n/**\n * Convert SVG path to SVG file\n * @param path\n */\nexport function svgPathToFile(path: string): Uint8Array {\n return getPlatform().utf8Encode(\n '<?xml version=\"1.0\" encoding=\"utf-8\"?>' +\n '<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"' +\n 'viewBox=\"0 0 512 512\" xml:space=\"preserve\">' +\n '<path d=\"' +\n path +\n '\"/>' +\n '</svg>',\n )\n}\n\n/**\n * Get file name from file path\n *\n * @param path File path\n */\nexport function extractFileName(path: string): string {\n if (path.startsWith('file:')) path = path.slice(5)\n\n return path.split(/[\\\\/]/).pop()!\n}\n"]}
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/file-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { getPlatform } from '../../platform.js'\nimport { MtArgumentError } from '../../types/errors.js'\nimport { concatBuffers } from '../../utils/buffer-utils.js'\n\n/**\n * Given file size, determine the appropriate chunk size (in KB)\n * for upload/download operations.\n */\nexport function determinePartSize(fileSize: number): number {\n if (fileSize <= 262078465) return 128 // 200 MB\n if (fileSize <= 786432000) return 256 // 750 MB\n if (fileSize <= 2097152000) return 512 // 2000 MB\n\n throw new MtArgumentError('File is too large')\n}\n\n/**\n * Returns `true` if all bytes in `buf` are printable ASCII characters\n */\nexport function isProbablyPlainText(buf: Uint8Array): boolean {\n return !buf.some(\n (it) =>\n !(\n (\n (it >= 0x20 && it < 0x7f) || // printable ascii range\n it === 0x0d || // CR\n it === 0x0a || // LF\n it === 0x09\n ) // Tab\n ),\n )\n}\n\n// from https://github.com/telegramdesktop/tdesktop/blob/bec39d89e19670eb436dc794a8f20b657cb87c71/Telegram/SourceFiles/ui/image/image.cpp#L225\nconst JPEG_HEADER = () =>\n getPlatform().hexDecode(\n 'ffd8ffe000104a46494600010100000100010000ffdb004300281c1e231e1928' +\n '2321232d2b28303c64413c37373c7b585d4964918099968f808c8aa0b4e6c3a0aad' +\n 'aad8a8cc8ffcbdaeef5ffffff9bc1fffffffaffe6fdfff8ffdb0043012b2d2d3c35' +\n '3c76414176f8a58ca5f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f' +\n '8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8ffc0001108000000' +\n '0003012200021101031101ffc4001f0000010501010101010100000000000000000' +\n '102030405060708090a0bffc400b5100002010303020403050504040000017d0102' +\n '0300041105122131410613516107227114328191a1082342b1c11552d1f02433627' +\n '282090a161718191a25262728292a3435363738393a434445464748494a53545556' +\n '5758595a636465666768696a737475767778797a838485868788898a92939495969' +\n '798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4' +\n 'd5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030' +\n '101010101010101010000000000000102030405060708090a0bffc400b511000201' +\n '0204040304070504040001027700010203110405213106124151076171132232810' +\n '8144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a3536' +\n '3738393a434445464748494a535455565758595a636465666768696a73747576777' +\n '8797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5' +\n 'b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f' +\n '3f4f5f6f7f8f9faffda000c03010002110311003f00',\n )\nlet JPEG_HEADER_BYTES: Uint8Array | null = null\nconst JPEG_FOOTER = new Uint8Array([0xff, 0xd9])\n\n/**\n * Convert stripped JPEG (from `photoStrippedSize`) to full JPEG\n */\nexport function strippedPhotoToJpg(stripped: Uint8Array): Uint8Array {\n if (stripped.length < 3 || stripped[0] !== 1) {\n throw new MtArgumentError('Invalid stripped JPEG')\n }\n\n if (JPEG_HEADER_BYTES === null) {\n JPEG_HEADER_BYTES = JPEG_HEADER()\n }\n\n const result = concatBuffers([JPEG_HEADER_BYTES, stripped.slice(3), JPEG_FOOTER])\n result[164] = stripped[1]\n result[166] = stripped[2]\n\n return result\n}\n\nconst SVG_LOOKUP = 'AACAAAAHAAALMAAAQASTAVAAAZaacaaaahaaalmaaaqastava.az0123456789-,'\n\n/**\n * Inflate compressed preview SVG path to full SVG path\n * @param encoded\n */\nexport function inflateSvgPath(encoded: Uint8Array): string {\n let path = 'M'\n const len = encoded.length\n\n for (let i = 0; i < len; i++) {\n const num = encoded[i]\n\n if (num >= 192) {\n // 128 + 64\n path += SVG_LOOKUP[num - 192]\n } else {\n if (num >= 128) {\n path += ','\n } else if (num >= 64) {\n path += '-'\n }\n\n path += num & 63\n }\n }\n\n path += 'z'\n\n return path\n}\n\n/**\n * Convert SVG path to SVG file\n * @param path\n */\nexport function svgPathToFile(path: string): Uint8Array {\n return getPlatform().utf8Encode(\n '<?xml version=\"1.0\" encoding=\"utf-8\"?>' +\n '<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"' +\n 'viewBox=\"0 0 512 512\" xml:space=\"preserve\">' +\n '<path d=\"' +\n path +\n '\"/>' +\n '</svg>',\n )\n}\n\n/**\n * Get file name from file path\n *\n * @param path File path\n */\nexport function extractFileName(path: string): string {\n if (path.startsWith('file:')) path = path.slice(5)\n\n return path.split(/[\\\\/]/).pop()!.split('?')[0]\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"inline-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/inline-utils.ts"],"names":[],"mappings":";;;AACA,mDAAmE;AAEnE,mDAA+C;AAC/C,mDAAkD;AAElD;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,EAAU;IAC3C,MAAM,GAAG,GAAG,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEzC,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE;QACnB,OAAO;YACH,CAAC,EAAE,yBAAyB;YAC5B,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE;YAClB,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE;YACjB,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE;SAC5B,CAAA;KACJ;IAED,OAAO;QACH,CAAC,EAAE,2BAA2B;QAC9B,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;QACtB,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE;KAC5B,CAAA;AACL,CAAC;AApBD,oDAoBC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,EAAkC;IACpE,IAAI,MAAsB,CAAA;IAE1B,QAAQ,EAAE,CAAC,CAAC,EAAE;QACV,KAAK,yBAAyB;YAC1B,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAClB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;YAC1B,MAAK;QACT,KAAK,2BAA2B;YAC5B,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;YACvB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;YAC1B,MAAK;QACT;YACI,IAAA,sBAAW,EAAC,EAAE,CAAC,CAAA;KACtB;IAED,OAAO,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;AAC5D,CAAC;AAtBD,sDAsBC;AAED,SAAgB,iBAAiB,CAAC,EAA2C;IACzE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACxB,OAAO,oBAAoB,CAAC,EAAE,CAAC,CAAA;KAClC;IAED,OAAO,EAAE,CAAA;AACb,CAAC;AAND,8CAMC","sourcesContent":["import { tl } from '@mtcute/tl'\nimport { TlBinaryReader, TlBinaryWriter } from '@mtcute/tl-runtime'\n\nimport { getPlatform } from '../../platform.js'\nimport { assertNever } from '../../types/utils.js'\n\n/**\n * Parse TDLib style inline message ID\n *\n * @param id Inline message ID\n */\nexport function parseInlineMessageId(id: string): tl.TypeInputBotInlineMessageID {\n const buf = getPlatform().base64Decode(id, true)\n const reader = TlBinaryReader.manual(buf)\n\n if (buf.length === 20) {\n return {\n _: 'inputBotInlineMessageID',\n dcId: reader.int(),\n id: reader.long(),\n accessHash: reader.long(),\n }\n }\n\n return {\n _: 'inputBotInlineMessageID64',\n dcId: reader.int(),\n ownerId: reader.long(),\n id: reader.int(),\n accessHash: reader.long(),\n }\n}\n\n/**\n * Generate TDLib style inline message ID\n *\n * @param id Inline message ID object\n */\nexport function encodeInlineMessageId(id: tl.TypeInputBotInlineMessageID): string {\n let writer: TlBinaryWriter\n\n switch (id._) {\n case 'inputBotInlineMessageID':\n writer = TlBinaryWriter.manual(20)\n writer.int(id.dcId)\n writer.long(id.id)\n writer.long(id.accessHash)\n break\n case 'inputBotInlineMessageID64':\n writer = TlBinaryWriter.manual(24)\n writer.int(id.dcId)\n writer.long(id.ownerId)\n writer.int(id.id)\n writer.long(id.accessHash)\n break\n default:\n assertNever(id)\n }\n\n return getPlatform().base64Encode(writer.result(), true)\n}\n\nexport function normalizeInlineId(id: string | tl.TypeInputBotInlineMessageID) {\n if (typeof id === 'string') {\n return parseInlineMessageId(id)\n }\n\n return id\n}\n"]}
1
+ {"version":3,"file":"inline-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/inline-utils.ts"],"names":[],"mappings":";;;AACA,mDAAmE;AAEnE,mDAA+C;AAC/C,mDAAkD;AAElD;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,EAAU;IAC3C,MAAM,GAAG,GAAG,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEzC,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO;YACH,CAAC,EAAE,yBAAyB;YAC5B,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE;YAClB,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE;YACjB,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE;SAC5B,CAAA;IACL,CAAC;IAED,OAAO;QACH,CAAC,EAAE,2BAA2B;QAC9B,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;QACtB,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE;KAC5B,CAAA;AACL,CAAC;AApBD,oDAoBC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,EAAkC;IACpE,IAAI,MAAsB,CAAA;IAE1B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;QACX,KAAK,yBAAyB;YAC1B,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAClB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;YAC1B,MAAK;QACT,KAAK,2BAA2B;YAC5B,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;YACvB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;YAC1B,MAAK;QACT;YACI,IAAA,sBAAW,EAAC,EAAE,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;AAC5D,CAAC;AAtBD,sDAsBC;AAED,SAAgB,iBAAiB,CAAC,EAA2C;IACzE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,oBAAoB,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,EAAE,CAAA;AACb,CAAC;AAND,8CAMC","sourcesContent":["import { tl } from '@mtcute/tl'\nimport { TlBinaryReader, TlBinaryWriter } from '@mtcute/tl-runtime'\n\nimport { getPlatform } from '../../platform.js'\nimport { assertNever } from '../../types/utils.js'\n\n/**\n * Parse TDLib style inline message ID\n *\n * @param id Inline message ID\n */\nexport function parseInlineMessageId(id: string): tl.TypeInputBotInlineMessageID {\n const buf = getPlatform().base64Decode(id, true)\n const reader = TlBinaryReader.manual(buf)\n\n if (buf.length === 20) {\n return {\n _: 'inputBotInlineMessageID',\n dcId: reader.int(),\n id: reader.long(),\n accessHash: reader.long(),\n }\n }\n\n return {\n _: 'inputBotInlineMessageID64',\n dcId: reader.int(),\n ownerId: reader.long(),\n id: reader.int(),\n accessHash: reader.long(),\n }\n}\n\n/**\n * Generate TDLib style inline message ID\n *\n * @param id Inline message ID object\n */\nexport function encodeInlineMessageId(id: tl.TypeInputBotInlineMessageID): string {\n let writer: TlBinaryWriter\n\n switch (id._) {\n case 'inputBotInlineMessageID':\n writer = TlBinaryWriter.manual(20)\n writer.int(id.dcId)\n writer.long(id.id)\n writer.long(id.accessHash)\n break\n case 'inputBotInlineMessageID64':\n writer = TlBinaryWriter.manual(24)\n writer.int(id.dcId)\n writer.long(id.ownerId)\n writer.int(id.id)\n writer.long(id.accessHash)\n break\n default:\n assertNever(id)\n }\n\n return getPlatform().base64Encode(writer.result(), true)\n}\n\nexport function normalizeInlineId(id: string | tl.TypeInputBotInlineMessageID) {\n if (typeof id === 'string') {\n return parseInlineMessageId(id)\n }\n\n return id\n}\n"]}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment */
3
3
  /* eslint-disable @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-argument */
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
6
+ };
4
7
  Object.defineProperty(exports, "__esModule", { value: true });
5
8
  exports.makeInspectable = void 0;
9
+ const long_1 = __importDefault(require("long"));
6
10
  const platform_js_1 = require("../../platform.js");
7
11
  const customInspectSymbol = Symbol.for('nodejs.util.inspect.custom');
8
12
  // get all property names. unlike Object.getOwnPropertyNames,
@@ -46,6 +50,9 @@ function makeInspectable(obj, props, hide) {
46
50
  if (val instanceof Uint8Array) {
47
51
  val = (0, platform_js_1.getPlatform)().base64Encode(val);
48
52
  }
53
+ else if (long_1.default.isLong(val)) {
54
+ val = val.toString();
55
+ }
49
56
  else if (typeof val.toJSON === 'function') {
50
57
  val = val.toJSON(true);
51
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inspectable.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/inspectable.ts"],"names":[],"mappings":";AAAA,+FAA+F;AAC/F,4FAA4F;;;AAE5F,mDAA+C;AAE/C,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAEpE,6DAA6D;AAC7D,qCAAqC;AACrC,SAAS,kBAAkB,CAAI,GAAM;IACjC,MAAM,OAAO,GAAgB,EAAE,CAAA;IAE/B,GAAG;QACC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,IACI,IAAI,KAAK,WAAW;gBACpB,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG;gBAC/C,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAW,CAAC,EAChC;gBACE,OAAO,CAAC,IAAI,CAAC,IAAW,CAAC,CAAA;aAC5B;QACL,CAAC,CAAC,CAAA;KACL,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAC;IAE5C,OAAO,OAAO,CAAA;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC3B,GAA8B,EAC9B,KAAmB,EACnB,IAAkB;IAElB,MAAM,OAAO,GAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/C,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAI,GAAG,CAAC,SAAS,CAAC,EAAE;QACpD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACtD;IAED,4CAA4C;IAC5C,8DAA8D;IAC9D,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,mBAAmB,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,CAAA;IAEzE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG;QACnB,MAAM,GAAG,GAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACrC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACnB,IAAI;gBACA,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;gBAElB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAChC,IAAI,GAAG,YAAY,UAAU,EAAE;wBAC3B,GAAG,GAAG,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;qBACxC;yBAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;wBACzC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;qBACzB;iBACJ;gBACD,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;aAChB;YAAC,OAAO,CAAM,EAAE;gBACb,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,OAAO,CAAA;aAClC;QACL,CAAC,CAAC,CAAA;QAEF,+DAA+D;QAC/D,OAAO,GAAG,CAAA;IACd,CAAC,CAAA;IACD,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAA;IAEzD,OAAO,GAAG,CAAA;AACd,CAAC;AAxCD,0CAwCC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-argument */\n\nimport { getPlatform } from '../../platform.js'\n\nconst customInspectSymbol = Symbol.for('nodejs.util.inspect.custom')\n\n// get all property names. unlike Object.getOwnPropertyNames,\n// also gets inherited property names\nfunction getAllGettersNames<T>(obj: T): (keyof T)[] {\n const getters: (keyof T)[] = []\n\n do {\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n if (\n prop !== '__proto__' &&\n Object.getOwnPropertyDescriptor(obj, prop)?.get &&\n !getters.includes(prop as any)\n ) {\n getters.push(prop as any)\n }\n })\n } while ((obj = Object.getPrototypeOf(obj)))\n\n return getters\n}\n\n/**\n * Small helper function that adds `toJSON` and `util.custom.inspect`\n * methods to a given class based on its getters\n *\n * > **Note**: This means that all getters must be pure!\n * > (getter that caches after its first invocation is also\n * > considered pure in this case)\n */\nexport function makeInspectable<T>(\n obj: new (...args: any[]) => T,\n props?: (keyof T)[],\n hide?: (keyof T)[],\n): typeof obj {\n const getters: (keyof T)[] = props ? props : []\n\n for (const key of getAllGettersNames<T>(obj.prototype)) {\n if (!hide || !hide.includes(key)) getters.push(key)\n }\n\n // dirty hack to set name for inspect result\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const proto = new Function(`return function ${obj.name}(){}`)().prototype\n\n obj.prototype.toJSON = function () {\n const ret: any = Object.create(proto)\n getters.forEach((it) => {\n try {\n let val = this[it]\n\n if (val && typeof val === 'object') {\n if (val instanceof Uint8Array) {\n val = getPlatform().base64Encode(val)\n } else if (typeof val.toJSON === 'function') {\n val = val.toJSON(true)\n }\n }\n ret[it] = val\n } catch (e: any) {\n ret[it] = 'Error: ' + e.message\n }\n })\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return ret\n }\n obj.prototype[customInspectSymbol] = obj.prototype.toJSON\n\n return obj\n}\n"]}
1
+ {"version":3,"file":"inspectable.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/inspectable.ts"],"names":[],"mappings":";AAAA,+FAA+F;AAC/F,4FAA4F;;;;;;AAE5F,gDAAuB;AAEvB,mDAA+C;AAE/C,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAEpE,6DAA6D;AAC7D,qCAAqC;AACrC,SAAS,kBAAkB,CAAI,GAAM;IACjC,MAAM,OAAO,GAAgB,EAAE,CAAA;IAE/B,GAAG,CAAC;QACA,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,IACI,IAAI,KAAK,WAAW;gBACpB,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG;gBAC/C,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAW,CAAC,EAChC,CAAC;gBACC,OAAO,CAAC,IAAI,CAAC,IAAW,CAAC,CAAA;YAC7B,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAC;IAE5C,OAAO,OAAO,CAAA;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC3B,GAA8B,EAC9B,KAAmB,EACnB,IAAkB;IAElB,MAAM,OAAO,GAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/C,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACvD,CAAC;IAED,4CAA4C;IAC5C,8DAA8D;IAC9D,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,mBAAmB,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,CAAA;IAEzE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG;QACnB,MAAM,GAAG,GAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACrC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACnB,IAAI,CAAC;gBACD,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;gBAElB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACjC,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;wBAC5B,GAAG,GAAG,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;oBACzC,CAAC;yBAAM,IAAI,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1B,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;oBACxB,CAAC;yBAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC1C,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC1B,CAAC;gBACL,CAAC;gBACD,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;YACjB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,OAAO,CAAA;YACnC,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,+DAA+D;QAC/D,OAAO,GAAG,CAAA;IACd,CAAC,CAAA;IACD,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAA;IAEzD,OAAO,GAAG,CAAA;AACd,CAAC;AA1CD,0CA0CC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-argument */\n\nimport Long from 'long'\n\nimport { getPlatform } from '../../platform.js'\n\nconst customInspectSymbol = Symbol.for('nodejs.util.inspect.custom')\n\n// get all property names. unlike Object.getOwnPropertyNames,\n// also gets inherited property names\nfunction getAllGettersNames<T>(obj: T): (keyof T)[] {\n const getters: (keyof T)[] = []\n\n do {\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n if (\n prop !== '__proto__' &&\n Object.getOwnPropertyDescriptor(obj, prop)?.get &&\n !getters.includes(prop as any)\n ) {\n getters.push(prop as any)\n }\n })\n } while ((obj = Object.getPrototypeOf(obj)))\n\n return getters\n}\n\n/**\n * Small helper function that adds `toJSON` and `util.custom.inspect`\n * methods to a given class based on its getters\n *\n * > **Note**: This means that all getters must be pure!\n * > (getter that caches after its first invocation is also\n * > considered pure in this case)\n */\nexport function makeInspectable<T>(\n obj: new (...args: any[]) => T,\n props?: (keyof T)[],\n hide?: (keyof T)[],\n): typeof obj {\n const getters: (keyof T)[] = props ? props : []\n\n for (const key of getAllGettersNames<T>(obj.prototype)) {\n if (!hide || !hide.includes(key)) getters.push(key)\n }\n\n // dirty hack to set name for inspect result\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const proto = new Function(`return function ${obj.name}(){}`)().prototype\n\n obj.prototype.toJSON = function () {\n const ret: any = Object.create(proto)\n getters.forEach((it) => {\n try {\n let val = this[it]\n\n if (val && typeof val === 'object') {\n if (val instanceof Uint8Array) {\n val = getPlatform().base64Encode(val)\n } else if (Long.isLong(val)) {\n val = val.toString()\n } else if (typeof val.toJSON === 'function') {\n val = val.toJSON(true)\n }\n }\n ret[it] = val\n } catch (e: any) {\n ret[it] = 'Error: ' + e.message\n }\n })\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return ret\n }\n obj.prototype[customInspectSymbol] = obj.prototype.toJSON\n\n return obj\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/memoize.ts"],"names":[],"mappings":";AAAA,gGAAgG;;;AAEhG,8DAA8D;AAC9D,SAAgB,cAAc,CAAI,GAA8B,EAAE,MAAmB;IACjF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAClE,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAEpB,IAAI,CAAC,GAAG;YAAE,SAAQ;QAElB,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE;YACxC,GAAG;gBACC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;oBAC/B,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,IAAI;iBACjB,CAAC,CAAA;gBAEF,OAAO,GAAG,CAAA;YACd,CAAC;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAA;KACL;IAED,OAAO,GAAG,CAAA;AACd,CAAC;AA1BD,wCA0BC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-assignment */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function memoizeGetters<T>(cls: new (...args: any[]) => T, fields: (keyof T)[]): typeof cls {\n for (const field of fields) {\n const desc = Object.getOwnPropertyDescriptor(cls.prototype, field)\n if (!desc) continue\n\n const { get } = desc\n\n if (!get) continue\n\n Object.defineProperty(cls.prototype, field, {\n get() {\n const val = get.call(this)\n Object.defineProperty(this, field, {\n value: val,\n enumerable: true,\n writable: true,\n })\n\n return val\n },\n enumerable: true,\n configurable: true,\n })\n }\n\n return cls\n}\n"]}
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/memoize.ts"],"names":[],"mappings":";AAAA,gGAAgG;;;AAEhG,8DAA8D;AAC9D,SAAgB,cAAc,CAAI,GAA8B,EAAE,MAAmB;IACjF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAClE,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAEpB,IAAI,CAAC,GAAG;YAAE,SAAQ;QAElB,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE;YACxC,GAAG;gBACC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;oBAC/B,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,IAAI;iBACjB,CAAC,CAAA;gBAEF,OAAO,GAAG,CAAA;YACd,CAAC;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAA;IACN,CAAC;IAED,OAAO,GAAG,CAAA;AACd,CAAC;AA1BD,wCA0BC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-assignment */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function memoizeGetters<T>(cls: new (...args: any[]) => T, fields: (keyof T)[]): typeof cls {\n for (const field of fields) {\n const desc = Object.getOwnPropertyDescriptor(cls.prototype, field)\n if (!desc) continue\n\n const { get } = desc\n\n if (!get) continue\n\n Object.defineProperty(cls.prototype, field, {\n get() {\n const val = get.call(this)\n Object.defineProperty(this, field, {\n value: val,\n enumerable: true,\n writable: true,\n })\n\n return val\n },\n enumerable: true,\n configurable: true,\n })\n }\n\n return cls\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"peer-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/peer-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertNever } from '../../types/utils.js'\nimport { MtInvalidPeerTypeError } from '../types/errors.js'\nimport { InputPeerLike } from '../types/peers/index.js'\n\nexport const INVITE_LINK_REGEX =\n /^(?:https?:\\/\\/)?(?:www\\.)?(?:t(?:elegram)?\\.(?:org|me|dog)\\/(?:joinchat\\/|\\+))([\\w-]+)$/i\n\n// helpers to convert result of `resolvePeer` function\n\nexport function toInputPeer(res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel): tl.TypeInputPeer {\n if (tl.isAnyInputPeer(res)) return res\n\n switch (res._) {\n case 'inputChannelEmpty':\n case 'inputUserEmpty':\n return { _: 'inputPeerEmpty' }\n case 'inputUser':\n return {\n _: 'inputPeerUser',\n userId: res.userId,\n accessHash: res.accessHash,\n }\n case 'inputUserSelf':\n return { _: 'inputPeerSelf' }\n case 'inputChannel':\n return {\n _: 'inputPeerChannel',\n channelId: res.channelId,\n accessHash: res.accessHash,\n }\n case 'inputChannelFromMessage':\n return {\n _: 'inputPeerChannelFromMessage',\n channelId: res.channelId,\n msgId: res.msgId,\n peer: res.peer,\n }\n case 'inputUserFromMessage':\n return {\n _: 'inputPeerUserFromMessage',\n userId: res.userId,\n msgId: res.msgId,\n peer: res.peer,\n }\n default:\n assertNever(res)\n }\n}\n\nexport function toInputUser(\n res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel,\n input?: InputPeerLike,\n): tl.TypeInputUser {\n if (tl.isAnyInputUser(res)) return res\n\n switch (res._) {\n case 'inputPeerSelf':\n return { _: 'inputUserSelf' }\n case 'inputPeerUser':\n return {\n _: 'inputUser',\n userId: res.userId,\n accessHash: res.accessHash,\n }\n case 'inputPeerUserFromMessage':\n return {\n _: 'inputUserFromMessage',\n userId: res.userId,\n msgId: res.msgId,\n peer: res.peer,\n }\n }\n\n throw new MtInvalidPeerTypeError(input ?? res, 'user')\n}\n\nexport function toInputChannel(\n res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel,\n input?: InputPeerLike,\n): tl.TypeInputChannel {\n if (tl.isAnyInputChannel(res)) return res\n\n switch (res._) {\n case 'inputPeerChannel':\n return {\n _: 'inputChannel',\n channelId: res.channelId,\n accessHash: res.accessHash,\n }\n case 'inputPeerChannelFromMessage':\n return {\n _: 'inputChannelFromMessage',\n channelId: res.channelId,\n msgId: res.msgId,\n peer: res.peer,\n }\n }\n\n throw new MtInvalidPeerTypeError(input ?? res, 'channel')\n}\n\nexport function isInputPeerUser(\n obj: tl.TypeInputPeer,\n): obj is tl.RawInputPeerUser | tl.RawInputPeerUserFromMessage | tl.RawInputPeerSelf {\n switch (obj._) {\n case 'inputPeerUser':\n case 'inputPeerUserFromMessage':\n case 'inputPeerSelf':\n return true\n }\n\n return false\n}\n\nexport function isInputPeerChannel(\n obj: tl.TypeInputPeer,\n): obj is tl.RawInputPeerChannel | tl.RawInputPeerChannelFromMessage {\n switch (obj._) {\n case 'inputPeerChannel':\n case 'inputPeerChannelFromMessage':\n return true\n }\n\n return false\n}\n\nexport function isInputPeerChat(obj: tl.TypeInputPeer): obj is tl.RawInputPeerChat {\n return obj._ === 'inputPeerChat'\n}\n\nexport function inputPeerToPeer(inp: tl.TypeInputPeer): tl.TypePeer {\n switch (inp._) {\n case 'inputPeerUser':\n case 'inputPeerUserFromMessage':\n return { _: 'peerUser', userId: inp.userId }\n case 'inputPeerChannel':\n case 'inputPeerChannelFromMessage':\n return { _: 'peerChannel', channelId: inp.channelId }\n case 'inputPeerChat':\n return { _: 'peerChat', chatId: inp.chatId }\n default:\n throw new MtInvalidPeerTypeError(inp, `Cannot convert ${inp._} to peer`)\n }\n}\n\nexport function extractUsernames(obj: tl.RawUser | tl.RawChannel) {\n if (obj.usernames?.length) return obj.usernames.map((x) => x.username.toLowerCase())\n if (obj.username) return [obj.username.toLowerCase()]\n\n return []\n}\n"]}
1
+ {"version":3,"file":"peer-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/peer-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertNever } from '../../types/utils.js'\nimport { MtInvalidPeerTypeError } from '../types/errors.js'\nimport { InputPeerLike } from '../types/peers/index.js'\n\nexport const INVITE_LINK_REGEX =\n /^(?:https?:\\/\\/)?(?:www\\.)?(?:t(?:elegram)?\\.(?:org|me|dog)\\/(?:joinchat\\/|\\+))([\\w-]+)$/i\n\n// helpers to convert result of `resolvePeer` function\n\nexport function toInputPeer(res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel): tl.TypeInputPeer {\n if (tl.isAnyInputPeer(res)) return res\n\n switch (res._) {\n case 'inputChannelEmpty':\n case 'inputUserEmpty':\n return { _: 'inputPeerEmpty' }\n case 'inputUser':\n return {\n _: 'inputPeerUser',\n userId: res.userId,\n accessHash: res.accessHash,\n }\n case 'inputUserSelf':\n return { _: 'inputPeerSelf' }\n case 'inputChannel':\n return {\n _: 'inputPeerChannel',\n channelId: res.channelId,\n accessHash: res.accessHash,\n }\n case 'inputChannelFromMessage':\n return {\n _: 'inputPeerChannelFromMessage',\n channelId: res.channelId,\n msgId: res.msgId,\n peer: res.peer,\n }\n case 'inputUserFromMessage':\n return {\n _: 'inputPeerUserFromMessage',\n userId: res.userId,\n msgId: res.msgId,\n peer: res.peer,\n }\n default:\n assertNever(res)\n }\n}\n\nexport function toInputUser(\n res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel,\n input?: InputPeerLike,\n): tl.TypeInputUser {\n if (tl.isAnyInputUser(res)) return res\n\n switch (res._) {\n case 'inputPeerSelf':\n return { _: 'inputUserSelf' }\n case 'inputPeerUser':\n return {\n _: 'inputUser',\n userId: res.userId,\n accessHash: res.accessHash,\n }\n case 'inputPeerUserFromMessage':\n return {\n _: 'inputUserFromMessage',\n userId: res.userId,\n msgId: res.msgId,\n peer: res.peer,\n }\n }\n\n throw new MtInvalidPeerTypeError(input ?? res, 'user')\n}\n\nexport function toInputChannel(\n res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel,\n input?: InputPeerLike,\n): tl.TypeInputChannel {\n if (tl.isAnyInputChannel(res)) return res\n\n switch (res._) {\n case 'inputPeerChannel':\n return {\n _: 'inputChannel',\n channelId: res.channelId,\n accessHash: res.accessHash,\n }\n case 'inputPeerChannelFromMessage':\n return {\n _: 'inputChannelFromMessage',\n channelId: res.channelId,\n msgId: res.msgId,\n peer: res.peer,\n }\n }\n\n throw new MtInvalidPeerTypeError(input ?? res, 'channel')\n}\n\nexport function isInputPeerUser(\n obj: tl.TypeInputPeer,\n): obj is tl.RawInputPeerUser | tl.RawInputPeerUserFromMessage | tl.RawInputPeerSelf {\n switch (obj._) {\n case 'inputPeerUser':\n case 'inputPeerUserFromMessage':\n case 'inputPeerSelf':\n return true\n }\n\n return false\n}\n\nexport function isInputPeerChannel(\n obj: tl.TypeInputPeer,\n): obj is tl.RawInputPeerChannel | tl.RawInputPeerChannelFromMessage {\n switch (obj._) {\n case 'inputPeerChannel':\n case 'inputPeerChannelFromMessage':\n return true\n }\n\n return false\n}\n\nexport function isInputPeerChat(obj: tl.TypeInputPeer): obj is tl.RawInputPeerChat {\n return obj._ === 'inputPeerChat'\n}\n\nexport function inputPeerToPeer(inp: tl.TypeInputPeer): tl.TypePeer {\n switch (inp._) {\n case 'inputPeerUser':\n case 'inputPeerUserFromMessage':\n return { _: 'peerUser', userId: inp.userId }\n case 'inputPeerChannel':\n case 'inputPeerChannelFromMessage':\n return { _: 'peerChannel', channelId: inp.channelId }\n case 'inputPeerChat':\n return { _: 'peerChat', chatId: inp.chatId }\n default:\n throw new MtInvalidPeerTypeError(inp, `Cannot convert ${inp._} to peer`)\n }\n}\n\nexport function extractUsernames(obj: tl.RawUser | tl.RawChannel) {\n if (obj.usernames?.length) return obj.usernames.map((x) => x.username.toLowerCase())\n if (obj.username) return [obj.username.toLowerCase()]\n\n return []\n}\n"]}