@mtkruto/node 0.67.2 → 0.68.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 (244) hide show
  1. package/esm/0_errors.js +2 -6
  2. package/esm/3_errors.js +2 -12
  3. package/esm/3_types.d.ts +1 -0
  4. package/esm/3_types.d.ts.map +1 -1
  5. package/esm/3_types.js +1 -0
  6. package/esm/4_errors.js +2 -12
  7. package/esm/_dnt.polyfills.d.ts +99 -0
  8. package/esm/_dnt.polyfills.d.ts.map +1 -1
  9. package/esm/_dnt.polyfills.js +127 -1
  10. package/esm/_dnt.test_polyfills.d.ts.map +1 -0
  11. package/esm/client/0_filters_test.d.ts.map +1 -1
  12. package/esm/client/0_markdown_test.d.ts.map +1 -1
  13. package/esm/client/0_params.d.ts +2 -0
  14. package/esm/client/0_params.d.ts.map +1 -1
  15. package/esm/client/0_password.d.ts +5 -5
  16. package/esm/client/0_password.d.ts.map +1 -1
  17. package/esm/client/0_password_test.d.ts.map +1 -1
  18. package/esm/client/0_storage_operations.js +143 -155
  19. package/esm/client/0_storage_operations_test.d.ts.map +1 -1
  20. package/esm/client/0_utilities.d.ts +1 -1
  21. package/esm/client/0_utilities_test.d.ts.map +1 -1
  22. package/esm/client/1_client_plain.js +4 -22
  23. package/esm/client/1_composer.js +8 -21
  24. package/esm/client/2_account_manager.js +85 -97
  25. package/esm/client/2_bot_info_manager.js +26 -38
  26. package/esm/client/2_business_connection_manager.js +10 -23
  27. package/esm/client/2_client_encrypted.js +194 -211
  28. package/esm/client/2_file_manager.d.ts +4 -3
  29. package/esm/client/2_file_manager.d.ts.map +1 -1
  30. package/esm/client/2_file_manager.js +268 -224
  31. package/esm/client/2_file_manager_test.d.ts.map +1 -1
  32. package/esm/client/2_network_statistics_manager.js +8 -21
  33. package/esm/client/2_payment_manager.js +7 -20
  34. package/esm/client/2_reaction_manager.js +7 -20
  35. package/esm/client/2_translations_manager.js +97 -107
  36. package/esm/client/2_update_manager.js +764 -759
  37. package/esm/client/3_client_encrypted_pool.js +10 -26
  38. package/esm/client/3_client_encrypted_pool_test.d.ts.map +1 -1
  39. package/esm/client/3_message_manager.d.ts +1 -1
  40. package/esm/client/3_message_manager.js +441 -448
  41. package/esm/client/3_message_manager_test.d.ts.map +1 -1
  42. package/esm/client/3_video_chat_manager.d.ts +1 -1
  43. package/esm/client/3_video_chat_manager.js +57 -68
  44. package/esm/client/4_callback_query_manager.js +18 -30
  45. package/esm/client/4_chat_list_manager.js +322 -318
  46. package/esm/client/4_chat_manager.js +118 -131
  47. package/esm/client/4_forum_manager.js +67 -73
  48. package/esm/client/4_gift_manager.js +16 -29
  49. package/esm/client/4_inline_query_manager.js +16 -28
  50. package/esm/client/4_link_preview_manager.js +6 -19
  51. package/esm/client/4_poll_manager.js +44 -57
  52. package/esm/client/4_story_manager.js +41 -53
  53. package/esm/client/5_client.d.ts +7 -0
  54. package/esm/client/5_client.d.ts.map +1 -1
  55. package/esm/client/5_client.js +1269 -1288
  56. package/esm/connection/1_connection_tcp.node.js +48 -65
  57. package/esm/connection/1_connection_web_socket.js +75 -91
  58. package/esm/deps/jsr.io/@roj/tgcrypto/1.0.1/dist/tgcrypto.js +3 -11
  59. package/esm/deps/jsr.io/@std/async/1.0.13/mux_async_iterator.js +31 -47
  60. package/esm/deps/jsr.io/@std/async/1.0.13/tee.js +11 -34
  61. package/esm/deps/jsr.io/@std/datetime/0.225.5/_date_time_formatter.js +4 -17
  62. package/esm/mod.js +2 -12
  63. package/esm/session/0_session_state.js +12 -38
  64. package/esm/session/1_session.js +49 -72
  65. package/esm/session/2_session_encrypted.js +324 -320
  66. package/esm/storage/1_utilities_test.d.ts.map +1 -1
  67. package/esm/storage/2_storage_indexed_db.js +26 -44
  68. package/esm/storage/2_storage_local_storage.node.js +12 -25
  69. package/esm/storage/2_storage_memory.js +24 -41
  70. package/esm/storage/2_storage_session_storage.js +3 -16
  71. package/esm/tl/0_utilities_test.d.ts.map +1 -1
  72. package/esm/tl/1_tl_reader.js +80 -88
  73. package/esm/tl/1_tl_reader_test.d.ts.map +1 -1
  74. package/esm/tl/1_tl_writer.js +155 -164
  75. package/esm/tl/1_tl_writer_test.d.ts.map +1 -1
  76. package/esm/transport/0_transport.js +1 -8
  77. package/esm/transport/1_transport_abridged.js +11 -24
  78. package/esm/transport/1_transport_intermediate.js +10 -23
  79. package/esm/transport/2_transport_provider_web_socket.d.ts.map +1 -1
  80. package/esm/types/0_upload_progress.d.ts +29 -0
  81. package/esm/types/0_upload_progress.d.ts.map +1 -0
  82. package/esm/types/0_upload_progress.js +20 -0
  83. package/esm/types/1_sticker.d.ts +1 -1
  84. package/esm/types/1_sticker.d.ts.map +1 -1
  85. package/esm/types/2_poll_answer.d.ts +19 -0
  86. package/esm/types/2_poll_answer.d.ts.map +1 -1
  87. package/esm/types/2_poll_answer.js +19 -0
  88. package/esm/types/7_update.d.ts +21 -2
  89. package/esm/types/7_update.d.ts.map +1 -1
  90. package/esm/utilities/0_bigint_test.d.ts.map +1 -1
  91. package/esm/utilities/0_buffer.d.ts +1 -1
  92. package/esm/utilities/0_buffer.d.ts.map +1 -1
  93. package/esm/utilities/0_buffer_test.d.ts.map +1 -1
  94. package/esm/utilities/0_hash.d.ts +2 -2
  95. package/esm/utilities/0_hash.d.ts.map +1 -1
  96. package/esm/utilities/0_mutex.js +4 -19
  97. package/esm/utilities/0_part_stream.js +11 -25
  98. package/esm/utilities/0_part_stream_test.d.ts.map +1 -1
  99. package/esm/utilities/0_rle.d.ts +2 -2
  100. package/esm/utilities/0_rle.d.ts.map +1 -1
  101. package/esm/utilities/0_rle_test.d.ts.map +1 -1
  102. package/esm/utilities/0_text.d.ts +20 -1
  103. package/esm/utilities/0_text.d.ts.map +1 -1
  104. package/esm/utilities/0_text.js +19 -0
  105. package/esm/utilities/1_auth.d.ts +1 -1
  106. package/esm/utilities/1_auth.d.ts.map +1 -1
  107. package/esm/utilities/1_base64.d.ts +1 -1
  108. package/esm/utilities/1_base64.d.ts.map +1 -1
  109. package/esm/utilities/1_base64_test.d.ts.map +1 -1
  110. package/esm/utilities/1_crypto.js +42 -53
  111. package/esm/utilities/1_crypto_test.d.ts.map +1 -1
  112. package/esm/utilities/1_logger.d.ts +2 -2
  113. package/esm/utilities/1_math_test.d.ts.map +1 -1
  114. package/esm/utilities/2_queue.js +29 -47
  115. package/package.json +1 -1
  116. package/script/0_errors.js +2 -6
  117. package/script/2_tl.js +17 -7
  118. package/script/3_errors.js +2 -12
  119. package/script/3_types.d.ts +1 -0
  120. package/script/3_types.d.ts.map +1 -1
  121. package/script/3_types.js +1 -0
  122. package/script/4_constants.js +17 -7
  123. package/script/4_errors.js +2 -12
  124. package/script/_dnt.polyfills.d.ts +99 -0
  125. package/script/_dnt.polyfills.d.ts.map +1 -1
  126. package/script/_dnt.polyfills.js +128 -0
  127. package/script/_dnt.test_polyfills.d.ts.map +1 -0
  128. package/script/client/0_filters_test.d.ts.map +1 -1
  129. package/script/client/0_markdown_test.d.ts.map +1 -1
  130. package/script/client/0_params.d.ts +2 -0
  131. package/script/client/0_params.d.ts.map +1 -1
  132. package/script/client/0_password.d.ts +5 -5
  133. package/script/client/0_password.d.ts.map +1 -1
  134. package/script/client/0_password.js +17 -7
  135. package/script/client/0_password_test.d.ts.map +1 -1
  136. package/script/client/0_storage_operations.js +143 -155
  137. package/script/client/0_storage_operations_test.d.ts.map +1 -1
  138. package/script/client/0_utilities.d.ts +1 -1
  139. package/script/client/0_utilities_test.d.ts.map +1 -1
  140. package/script/client/1_client_plain.js +4 -22
  141. package/script/client/1_composer.js +8 -21
  142. package/script/client/2_account_manager.js +85 -97
  143. package/script/client/2_bot_info_manager.js +26 -38
  144. package/script/client/2_business_connection_manager.js +10 -23
  145. package/script/client/2_client_encrypted.js +195 -212
  146. package/script/client/2_file_manager.d.ts +4 -3
  147. package/script/client/2_file_manager.d.ts.map +1 -1
  148. package/script/client/2_file_manager.js +285 -231
  149. package/script/client/2_file_manager_test.d.ts.map +1 -1
  150. package/script/client/2_network_statistics_manager.js +8 -21
  151. package/script/client/2_payment_manager.js +7 -20
  152. package/script/client/2_reaction_manager.js +7 -20
  153. package/script/client/2_translations_manager.js +98 -108
  154. package/script/client/2_update_manager.js +764 -759
  155. package/script/client/3_client_encrypted_pool.js +10 -26
  156. package/script/client/3_client_encrypted_pool_test.d.ts.map +1 -1
  157. package/script/client/3_message_manager.d.ts +1 -1
  158. package/script/client/3_message_manager.js +441 -448
  159. package/script/client/3_message_manager_test.d.ts.map +1 -1
  160. package/script/client/3_video_chat_manager.d.ts +1 -1
  161. package/script/client/3_video_chat_manager.js +57 -68
  162. package/script/client/4_callback_query_manager.js +18 -30
  163. package/script/client/4_chat_list_manager.js +322 -318
  164. package/script/client/4_chat_manager.js +118 -131
  165. package/script/client/4_forum_manager.js +67 -73
  166. package/script/client/4_gift_manager.js +16 -29
  167. package/script/client/4_inline_query_manager.js +16 -28
  168. package/script/client/4_link_preview_manager.js +6 -19
  169. package/script/client/4_poll_manager.js +44 -57
  170. package/script/client/4_story_manager.js +41 -53
  171. package/script/client/5_client.d.ts +7 -0
  172. package/script/client/5_client.d.ts.map +1 -1
  173. package/script/client/5_client.js +1269 -1288
  174. package/script/connection/1_connection_tcp.node.js +48 -65
  175. package/script/connection/1_connection_web_socket.js +92 -98
  176. package/script/deps/jsr.io/@roj/tgcrypto/1.0.1/dist/tgcrypto.js +3 -11
  177. package/script/deps/jsr.io/@std/assert/1.0.13/equal.js +17 -7
  178. package/script/deps/jsr.io/@std/async/1.0.13/delay.js +17 -7
  179. package/script/deps/jsr.io/@std/async/1.0.13/mux_async_iterator.js +31 -47
  180. package/script/deps/jsr.io/@std/async/1.0.13/tee.js +11 -34
  181. package/script/deps/jsr.io/@std/datetime/0.225.5/_date_time_formatter.js +4 -17
  182. package/script/deps/jsr.io/@std/internal/1.0.10/format.js +17 -7
  183. package/script/deps/jsr.io/@std/internal/1.0.10/styles.js +17 -7
  184. package/script/deps/jsr.io/@std/path/1.1.0/_os.js +17 -7
  185. package/script/mod.js +19 -19
  186. package/script/session/0_session_state.js +12 -38
  187. package/script/session/1_session.js +66 -79
  188. package/script/session/2_session_encrypted.js +325 -321
  189. package/script/storage/1_utilities_test.d.ts.map +1 -1
  190. package/script/storage/2_storage_indexed_db.js +26 -44
  191. package/script/storage/2_storage_local_storage.node.js +12 -25
  192. package/script/storage/2_storage_memory.js +24 -41
  193. package/script/storage/2_storage_session_storage.js +3 -16
  194. package/script/tl/0_utilities_test.d.ts.map +1 -1
  195. package/script/tl/1_tl_reader.js +81 -89
  196. package/script/tl/1_tl_reader_test.d.ts.map +1 -1
  197. package/script/tl/1_tl_writer.js +156 -165
  198. package/script/tl/1_tl_writer_test.d.ts.map +1 -1
  199. package/script/tl/2_telegram.js +17 -7
  200. package/script/transport/0_obfuscation.js +17 -7
  201. package/script/transport/0_transport.js +1 -8
  202. package/script/transport/1_transport_abridged.js +11 -24
  203. package/script/transport/1_transport_intermediate.js +10 -23
  204. package/script/transport/2_transport_provider_web_socket.d.ts.map +1 -1
  205. package/script/types/0_upload_progress.d.ts +29 -0
  206. package/script/types/0_upload_progress.d.ts.map +1 -0
  207. package/script/types/0_upload_progress.js +21 -0
  208. package/script/types/1_sticker.d.ts +1 -1
  209. package/script/types/1_sticker.d.ts.map +1 -1
  210. package/script/types/2_poll_answer.d.ts +19 -0
  211. package/script/types/2_poll_answer.d.ts.map +1 -1
  212. package/script/types/2_poll_answer.js +19 -0
  213. package/script/types/7_update.d.ts +21 -2
  214. package/script/types/7_update.d.ts.map +1 -1
  215. package/script/utilities/0_bigint.js +17 -7
  216. package/script/utilities/0_bigint_test.d.ts.map +1 -1
  217. package/script/utilities/0_buffer.d.ts +1 -1
  218. package/script/utilities/0_buffer.d.ts.map +1 -1
  219. package/script/utilities/0_buffer_test.d.ts.map +1 -1
  220. package/script/utilities/0_env.js +17 -7
  221. package/script/utilities/0_hash.d.ts +2 -2
  222. package/script/utilities/0_hash.d.ts.map +1 -1
  223. package/script/utilities/0_hash.js +17 -7
  224. package/script/utilities/0_misc.js +17 -7
  225. package/script/utilities/0_mutex.js +4 -19
  226. package/script/utilities/0_part_stream.js +11 -25
  227. package/script/utilities/0_part_stream_test.d.ts.map +1 -1
  228. package/script/utilities/0_rle.d.ts +2 -2
  229. package/script/utilities/0_rle.d.ts.map +1 -1
  230. package/script/utilities/0_rle_test.d.ts.map +1 -1
  231. package/script/utilities/0_text.d.ts +20 -1
  232. package/script/utilities/0_text.d.ts.map +1 -1
  233. package/script/utilities/0_text.js +19 -0
  234. package/script/utilities/1_auth.d.ts +1 -1
  235. package/script/utilities/1_auth.d.ts.map +1 -1
  236. package/script/utilities/1_auth.js +17 -7
  237. package/script/utilities/1_base64.d.ts +1 -1
  238. package/script/utilities/1_base64.d.ts.map +1 -1
  239. package/script/utilities/1_base64_test.d.ts.map +1 -1
  240. package/script/utilities/1_crypto.js +60 -61
  241. package/script/utilities/1_crypto_test.d.ts.map +1 -1
  242. package/script/utilities/1_logger.d.ts +2 -2
  243. package/script/utilities/1_math_test.d.ts.map +1 -1
  244. package/script/utilities/2_queue.js +30 -48
@@ -19,12 +19,6 @@
19
19
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
  */
21
21
  // deno-lint-ignore-file no-explicit-any
22
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
23
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
24
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
25
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
26
- };
27
- var _TLWriter_instances, _TLWriter_serialize, _TLWriter_serializeVector, _TLWriter_serializePrimitive, _TLWriter_isTypeValid;
28
22
  Object.defineProperty(exports, "__esModule", { value: true });
29
23
  exports.TLWriter = void 0;
30
24
  const _0_deps_js_1 = require("../0_deps.js");
@@ -33,14 +27,8 @@ const _0_utilities_js_1 = require("./0_utilities.js");
33
27
  const _0_buffer_js_1 = require("../utilities/0_buffer.js");
34
28
  const _1_utilities_js_1 = require("../1_utilities.js");
35
29
  class TLWriter {
30
+ _buffer = new Uint8Array();
36
31
  constructor() {
37
- _TLWriter_instances.add(this);
38
- Object.defineProperty(this, "_buffer", {
39
- enumerable: true,
40
- configurable: true,
41
- writable: true,
42
- value: new Uint8Array()
43
- });
44
32
  }
45
33
  get buffer() {
46
34
  return this._buffer;
@@ -98,171 +86,174 @@ class TLWriter {
98
86
  return this;
99
87
  }
100
88
  writeObject(value, schema) {
101
- __classPrivateFieldGet(this, _TLWriter_instances, "m", _TLWriter_serialize).call(this, value._, value, "", schema);
89
+ this.#serialize(value._, value, "", schema);
102
90
  return this;
103
91
  }
104
- }
105
- exports.TLWriter = TLWriter;
106
- _TLWriter_instances = new WeakSet(), _TLWriter_serialize = function _TLWriter_serialize(type, value, debugInfo, schema) {
107
- if (__classPrivateFieldGet(this, _TLWriter_instances, "m", _TLWriter_serializePrimitive).call(this, type, value, debugInfo)) {
108
- return;
109
- }
110
- if (__classPrivateFieldGet(this, _TLWriter_instances, "m", _TLWriter_serializeVector).call(this, type, value, debugInfo, schema)) {
111
- return;
112
- }
113
- const maybeDefinition = schema.definitions[value._];
114
- if (!maybeDefinition) {
115
- throw new _0_tl_error_js_1.TLError(`Unknown type: ${value._}`);
116
- }
117
- if (type != "!X" && !__classPrivateFieldGet(this, _TLWriter_instances, "m", _TLWriter_isTypeValid).call(this, type, value, schema)) {
118
- throw new _0_tl_error_js_1.TLError(`Expected ${type} but got ${value._}`);
119
- }
120
- const type__ = value;
121
- const [id, parameters_] = maybeDefinition;
122
- this.writeInt32(id, false);
123
- for (let [i, [name, type]] of parameters_.entries()) {
124
- if ((0, _0_utilities_js_1.isOptionalParam)(type) && type__[name] === undefined) {
125
- continue;
92
+ #serialize(type, value, debugInfo, schema) {
93
+ if (this.#serializePrimitive(type, value, debugInfo)) {
94
+ return;
95
+ }
96
+ if (this.#serializeVector(type, value, debugInfo, schema)) {
97
+ return;
98
+ }
99
+ const maybeDefinition = schema.definitions[value._];
100
+ if (!maybeDefinition) {
101
+ throw new _0_tl_error_js_1.TLError(`Unknown type: ${value._}`);
102
+ }
103
+ if (type != "!X" && !this.#isTypeValid(type, value, schema)) {
104
+ throw new _0_tl_error_js_1.TLError(`Expected ${type} but got ${value._}`);
126
105
  }
127
- const debugInfo = ` [0x${id.toString(16).toUpperCase()}::${i}]`;
128
- if (type == "#") {
129
- let flags = 0;
130
- const flagField_ = name;
131
- for (const [name, type] of parameters_) {
132
- if ((0, _0_utilities_js_1.isOptionalParam)(type)) {
133
- const { flagField, bitIndex } = (0, _0_utilities_js_1.analyzeOptionalParam)(type);
134
- if (flagField == flagField_) {
135
- if (type__[name] !== undefined) {
136
- flags |= 1 << bitIndex;
106
+ const type__ = value;
107
+ const [id, parameters_] = maybeDefinition;
108
+ this.writeInt32(id, false);
109
+ for (let [i, [name, type]] of parameters_.entries()) {
110
+ if ((0, _0_utilities_js_1.isOptionalParam)(type) && type__[name] === undefined) {
111
+ continue;
112
+ }
113
+ const debugInfo = ` [0x${id.toString(16).toUpperCase()}::${i}]`;
114
+ if (type == "#") {
115
+ let flags = 0;
116
+ const flagField_ = name;
117
+ for (const [name, type] of parameters_) {
118
+ if ((0, _0_utilities_js_1.isOptionalParam)(type)) {
119
+ const { flagField, bitIndex } = (0, _0_utilities_js_1.analyzeOptionalParam)(type);
120
+ if (flagField == flagField_) {
121
+ if (type__[name] !== undefined) {
122
+ flags |= 1 << bitIndex;
123
+ }
137
124
  }
138
125
  }
139
126
  }
127
+ this.writeInt32(flags);
128
+ continue;
129
+ }
130
+ if (type__[name] === undefined && !(0, _0_utilities_js_1.isOptionalParam)(type)) {
131
+ throw new Error(`Missing required parameter: ${name}`);
132
+ }
133
+ if ((0, _0_utilities_js_1.isOptionalParam)(type)) {
134
+ type = (0, _0_utilities_js_1.getOptionalParamInnerType)(type);
140
135
  }
141
- this.writeInt32(flags);
142
- continue;
136
+ this.#serialize(type, type__[name], debugInfo, schema);
143
137
  }
144
- if (type__[name] === undefined && !(0, _0_utilities_js_1.isOptionalParam)(type)) {
145
- throw new Error(`Missing required parameter: ${name}`);
138
+ return;
139
+ }
140
+ #serializeVector(type, value, debugInfo, schema) {
141
+ const itemType = (0, _0_utilities_js_1.getVectorItemType)(type);
142
+ if (!itemType) {
143
+ return false;
146
144
  }
147
- if ((0, _0_utilities_js_1.isOptionalParam)(type)) {
148
- type = (0, _0_utilities_js_1.getOptionalParamInnerType)(type);
145
+ if (!Array.isArray(value)) {
146
+ throw new TypeError(`Expected array but received ${(0, _0_utilities_js_1.repr)(value)}${debugInfo}`);
149
147
  }
150
- __classPrivateFieldGet(this, _TLWriter_instances, "m", _TLWriter_serialize).call(this, type, type__[name], debugInfo, schema);
151
- }
152
- return;
153
- }, _TLWriter_serializeVector = function _TLWriter_serializeVector(type, value, debugInfo, schema) {
154
- const itemType = (0, _0_utilities_js_1.getVectorItemType)(type);
155
- if (!itemType) {
156
- return false;
157
- }
158
- if (!Array.isArray(value)) {
159
- throw new TypeError(`Expected array but received ${(0, _0_utilities_js_1.repr)(value)}${debugInfo}`);
160
- }
161
- this.writeInt32(_0_utilities_js_1.VECTOR, false);
162
- this.writeInt32(value.length);
163
- for (const item of value) {
164
- __classPrivateFieldGet(this, _TLWriter_instances, "m", _TLWriter_serialize).call(this, itemType, item, debugInfo, schema);
148
+ this.writeInt32(_0_utilities_js_1.VECTOR, false);
149
+ this.writeInt32(value.length);
150
+ for (const item of value) {
151
+ this.#serialize(itemType, item, debugInfo, schema);
152
+ }
153
+ return true;
165
154
  }
166
- return true;
167
- }, _TLWriter_serializePrimitive = function _TLWriter_serializePrimitive(type, value, debugInfo) {
168
- const valueRepr = (0, _0_utilities_js_1.repr)(value);
169
- switch (type) {
170
- case "bytes":
171
- if ((value instanceof Uint8Array)) {
172
- this.writeBytes(value);
173
- }
174
- else {
175
- throw new _0_tl_error_js_1.TLError(`Expected Uint8Array but received ${valueRepr}${debugInfo}`);
176
- }
177
- return true;
178
- case "int128":
179
- if (typeof value === "bigint") {
180
- this.writeInt128(value);
181
- }
182
- else {
183
- throw new _0_tl_error_js_1.TLError(`Expected bigint but received ${valueRepr}${debugInfo}`);
184
- }
185
- return true;
186
- case "int256":
187
- if (typeof value === "bigint") {
188
- this.writeInt256(value);
189
- }
190
- else {
191
- throw new _0_tl_error_js_1.TLError(`Expected bigint but received ${valueRepr}${debugInfo}`);
192
- }
193
- return true;
194
- case "long":
195
- if (typeof value === "bigint") {
196
- this.writeInt64(value);
197
- }
198
- else {
199
- throw new _0_tl_error_js_1.TLError(`Expected bigint but received ${valueRepr}${debugInfo}`);
200
- }
201
- return true;
202
- case "Bool":
203
- if (typeof value === "boolean") {
204
- if (value) {
205
- this.writeInt32(_0_utilities_js_1.BOOL_TRUE);
155
+ #serializePrimitive(type, value, debugInfo) {
156
+ const valueRepr = (0, _0_utilities_js_1.repr)(value);
157
+ switch (type) {
158
+ case "bytes":
159
+ if ((value instanceof Uint8Array)) {
160
+ this.writeBytes(value);
206
161
  }
207
162
  else {
208
- this.writeInt32(_0_utilities_js_1.BOOL_FALSE);
163
+ throw new _0_tl_error_js_1.TLError(`Expected Uint8Array but received ${valueRepr}${debugInfo}`);
209
164
  }
210
- }
211
- else {
212
- throw new _0_tl_error_js_1.TLError(`Expected boolean but received ${valueRepr}${debugInfo}`);
213
- }
214
- return true;
215
- case "int":
216
- //
217
- if (value == null) {
218
- value = 0;
219
- }
220
- //
221
- if (typeof value === "number") {
222
- this.writeInt32(value);
223
- }
224
- else {
225
- throw new _0_tl_error_js_1.TLError(`Expected number but received ${valueRepr}${debugInfo}`);
226
- }
227
- return true;
228
- case "double":
229
- //
230
- if (value == null) {
231
- value = 0;
232
- }
233
- //
234
- if (typeof value === "number") {
235
- this.writeDouble(value);
236
- }
237
- else {
238
- throw new _0_tl_error_js_1.TLError(`Expected number but received ${valueRepr}${debugInfo}`);
239
- }
240
- return true;
241
- case "string":
242
- if (typeof value === "string") {
243
- this.writeString(value);
244
- }
245
- else if (value instanceof Uint8Array) {
246
- this.writeBytes(value);
247
- }
248
- else {
249
- this.writeString("");
250
- }
251
- // else {
252
- // throw new TypeError(`Expected string or Uint8Array but received ${valueRepr}`);
253
- // }
254
- return true;
255
- case "true":
256
- if (value !== true) {
257
- throw new _0_tl_error_js_1.TLError(`Expected true but received ${valueRepr}${debugInfo}`);
258
- }
259
- return true;
260
- default:
261
- return false;
165
+ return true;
166
+ case "int128":
167
+ if (typeof value === "bigint") {
168
+ this.writeInt128(value);
169
+ }
170
+ else {
171
+ throw new _0_tl_error_js_1.TLError(`Expected bigint but received ${valueRepr}${debugInfo}`);
172
+ }
173
+ return true;
174
+ case "int256":
175
+ if (typeof value === "bigint") {
176
+ this.writeInt256(value);
177
+ }
178
+ else {
179
+ throw new _0_tl_error_js_1.TLError(`Expected bigint but received ${valueRepr}${debugInfo}`);
180
+ }
181
+ return true;
182
+ case "long":
183
+ if (typeof value === "bigint") {
184
+ this.writeInt64(value);
185
+ }
186
+ else {
187
+ throw new _0_tl_error_js_1.TLError(`Expected bigint but received ${valueRepr}${debugInfo}`);
188
+ }
189
+ return true;
190
+ case "Bool":
191
+ if (typeof value === "boolean") {
192
+ if (value) {
193
+ this.writeInt32(_0_utilities_js_1.BOOL_TRUE);
194
+ }
195
+ else {
196
+ this.writeInt32(_0_utilities_js_1.BOOL_FALSE);
197
+ }
198
+ }
199
+ else {
200
+ throw new _0_tl_error_js_1.TLError(`Expected boolean but received ${valueRepr}${debugInfo}`);
201
+ }
202
+ return true;
203
+ case "int":
204
+ //
205
+ if (value == null) {
206
+ value = 0;
207
+ }
208
+ //
209
+ if (typeof value === "number") {
210
+ this.writeInt32(value);
211
+ }
212
+ else {
213
+ throw new _0_tl_error_js_1.TLError(`Expected number but received ${valueRepr}${debugInfo}`);
214
+ }
215
+ return true;
216
+ case "double":
217
+ //
218
+ if (value == null) {
219
+ value = 0;
220
+ }
221
+ //
222
+ if (typeof value === "number") {
223
+ this.writeDouble(value);
224
+ }
225
+ else {
226
+ throw new _0_tl_error_js_1.TLError(`Expected number but received ${valueRepr}${debugInfo}`);
227
+ }
228
+ return true;
229
+ case "string":
230
+ if (typeof value === "string") {
231
+ this.writeString(value);
232
+ }
233
+ else if (value instanceof Uint8Array) {
234
+ this.writeBytes(value);
235
+ }
236
+ else {
237
+ this.writeString("");
238
+ }
239
+ // else {
240
+ // throw new TypeError(`Expected string or Uint8Array but received ${valueRepr}`);
241
+ // }
242
+ return true;
243
+ case "true":
244
+ if (value !== true) {
245
+ throw new _0_tl_error_js_1.TLError(`Expected true but received ${valueRepr}${debugInfo}`);
246
+ }
247
+ return true;
248
+ default:
249
+ return false;
250
+ }
262
251
  }
263
- }, _TLWriter_isTypeValid = function _TLWriter_isTypeValid(type, value, schema) {
264
- if (type == value._) {
265
- return true;
252
+ #isTypeValid(type, value, schema) {
253
+ if (type == value._) {
254
+ return true;
255
+ }
256
+ return schema.definitions[value._]?.[2] === type;
266
257
  }
267
- return schema.definitions[value._]?.[2] === type;
268
- };
258
+ }
259
+ exports.TLWriter = TLWriter;
@@ -1 +1 @@
1
- {"version":3,"file":"1_tl_writer_test.d.ts","sourceRoot":"","sources":["../../src/tl/1_tl_writer_test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"1_tl_writer_test.d.ts","sourceRoot":"","sources":["../../src/tl/1_tl_writer_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,2BAA2B,CAAC"}
@@ -35,13 +35,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
35
35
  }) : function(o, v) {
36
36
  o["default"] = v;
37
37
  });
38
- var __importStar = (this && this.__importStar) || function (mod) {
39
- if (mod && mod.__esModule) return mod;
40
- var result = {};
41
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
42
- __setModuleDefault(result, mod);
43
- return result;
44
- };
38
+ var __importStar = (this && this.__importStar) || (function () {
39
+ var ownKeys = function(o) {
40
+ ownKeys = Object.getOwnPropertyNames || function (o) {
41
+ var ar = [];
42
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
43
+ return ar;
44
+ };
45
+ return ownKeys(o);
46
+ };
47
+ return function (mod) {
48
+ if (mod && mod.__esModule) return mod;
49
+ var result = {};
50
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
51
+ __setModuleDefault(result, mod);
52
+ return result;
53
+ };
54
+ })();
45
55
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
46
56
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
47
57
  };
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.getObfuscationParameters = getObfuscationParameters;
27
37
  /**
@@ -21,14 +21,7 @@
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.Transport = void 0;
23
23
  class Transport {
24
- constructor() {
25
- Object.defineProperty(this, "obfuscationParameters", {
26
- enumerable: true,
27
- configurable: true,
28
- writable: true,
29
- value: null
30
- });
31
- }
24
+ obfuscationParameters = null;
32
25
  async encrypt(buffer) {
33
26
  if (this.obfuscationParameters) {
34
27
  return await this.obfuscationParameters.encryptionCTR.call(buffer);
@@ -18,18 +18,6 @@
18
18
  * You should have received a copy of the GNU Lesser General Public License
19
19
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
  */
21
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
22
- if (kind === "m") throw new TypeError("Private method is not writable");
23
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
24
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
- };
27
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
28
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
- };
32
- var _TransportAbridged_connection, _TransportAbridged_obfuscated;
33
21
  Object.defineProperty(exports, "__esModule", { value: true });
34
22
  exports.TransportAbridged = void 0;
35
23
  const _0_deps_js_1 = require("../0_deps.js");
@@ -37,40 +25,40 @@ const _1_utilities_js_1 = require("../1_utilities.js");
37
25
  const _0_obfuscation_js_1 = require("./0_obfuscation.js");
38
26
  const _0_transport_js_1 = require("./0_transport.js");
39
27
  class TransportAbridged extends _0_transport_js_1.Transport {
28
+ #connection;
29
+ #obfuscated;
40
30
  constructor(connection, obfuscated = false) {
41
31
  super();
42
- _TransportAbridged_connection.set(this, void 0);
43
- _TransportAbridged_obfuscated.set(this, void 0);
44
- __classPrivateFieldSet(this, _TransportAbridged_connection, connection, "f");
45
- __classPrivateFieldSet(this, _TransportAbridged_obfuscated, obfuscated, "f");
32
+ this.#connection = connection;
33
+ this.#obfuscated = obfuscated;
46
34
  }
47
35
  async initialize() {
48
- if (__classPrivateFieldGet(this, _TransportAbridged_obfuscated, "f")) {
49
- this.obfuscationParameters = await (0, _0_obfuscation_js_1.getObfuscationParameters)(0xEFEFEFEF, __classPrivateFieldGet(this, _TransportAbridged_connection, "f"));
36
+ if (this.#obfuscated) {
37
+ this.obfuscationParameters = await (0, _0_obfuscation_js_1.getObfuscationParameters)(0xEFEFEFEF, this.#connection);
50
38
  }
51
39
  else {
52
- await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").write(new Uint8Array([0xEF]));
40
+ await this.#connection.write(new Uint8Array([0xEF]));
53
41
  }
54
42
  }
55
43
  async receive() {
56
44
  let length;
57
45
  {
58
46
  let buffer = new Uint8Array(1);
59
- await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").read(buffer);
47
+ await this.#connection.read(buffer);
60
48
  buffer = await this.decrypt(buffer);
61
49
  if (buffer[0] < 0x7F) {
62
50
  length = buffer[0];
63
51
  }
64
52
  else {
65
53
  let buffer = new Uint8Array(3);
66
- await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").read(buffer);
54
+ await this.#connection.read(buffer);
67
55
  buffer = await this.decrypt(buffer);
68
56
  length = Number((0, _1_utilities_js_1.bigIntFromBuffer)(buffer));
69
57
  }
70
58
  }
71
59
  length *= 4;
72
60
  const buffer = new Uint8Array(length);
73
- await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").read(buffer);
61
+ await this.#connection.read(buffer);
74
62
  return await this.decrypt(buffer);
75
63
  }
76
64
  async send(buffer) {
@@ -78,8 +66,7 @@ class TransportAbridged extends _0_transport_js_1.Transport {
78
66
  const header = new Uint8Array([bufferLength >= 0x7F ? 0x7F : bufferLength]);
79
67
  const length = bufferLength >= 0x7F ? (0, _1_utilities_js_1.bufferFromBigInt)(bufferLength, 3) : new Uint8Array();
80
68
  const data = (0, _0_deps_js_1.concat)([header, length, buffer]);
81
- await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").write(await this.encrypt(data));
69
+ await this.#connection.write(await this.encrypt(data));
82
70
  }
83
71
  }
84
72
  exports.TransportAbridged = TransportAbridged;
85
- _TransportAbridged_connection = new WeakMap(), _TransportAbridged_obfuscated = new WeakMap();
@@ -18,18 +18,6 @@
18
18
  * You should have received a copy of the GNU Lesser General Public License
19
19
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
  */
21
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
22
- if (kind === "m") throw new TypeError("Private method is not writable");
23
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
24
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
- };
27
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
28
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
- };
32
- var _TransportIntermediate_connection, _TransportIntermediate_obfuscated;
33
21
  Object.defineProperty(exports, "__esModule", { value: true });
34
22
  exports.TransportIntermediate = void 0;
35
23
  const _0_deps_js_1 = require("../0_deps.js");
@@ -37,39 +25,38 @@ const _1_utilities_js_1 = require("../1_utilities.js");
37
25
  const _0_obfuscation_js_1 = require("./0_obfuscation.js");
38
26
  const _0_transport_js_1 = require("./0_transport.js");
39
27
  class TransportIntermediate extends _0_transport_js_1.Transport {
28
+ #connection;
29
+ #obfuscated;
40
30
  constructor(connection, obfuscated = false) {
41
31
  super();
42
- _TransportIntermediate_connection.set(this, void 0);
43
- _TransportIntermediate_obfuscated.set(this, void 0);
44
- __classPrivateFieldSet(this, _TransportIntermediate_connection, connection, "f");
45
- __classPrivateFieldSet(this, _TransportIntermediate_obfuscated, obfuscated, "f");
32
+ this.#connection = connection;
33
+ this.#obfuscated = obfuscated;
46
34
  }
47
35
  async initialize() {
48
- if (__classPrivateFieldGet(this, _TransportIntermediate_obfuscated, "f")) {
49
- this.obfuscationParameters = await (0, _0_obfuscation_js_1.getObfuscationParameters)(0xEEEEEEEE, __classPrivateFieldGet(this, _TransportIntermediate_connection, "f"));
36
+ if (this.#obfuscated) {
37
+ this.obfuscationParameters = await (0, _0_obfuscation_js_1.getObfuscationParameters)(0xEEEEEEEE, this.#connection);
50
38
  }
51
39
  else {
52
- await __classPrivateFieldGet(this, _TransportIntermediate_connection, "f").write(new Uint8Array([0xEE, 0xEE, 0xEE, 0xEE]));
40
+ await this.#connection.write(new Uint8Array([0xEE, 0xEE, 0xEE, 0xEE]));
53
41
  }
54
42
  }
55
43
  async receive() {
56
44
  let length;
57
45
  {
58
46
  let buffer = new Uint8Array(4);
59
- await __classPrivateFieldGet(this, _TransportIntermediate_connection, "f").read(buffer);
47
+ await this.#connection.read(buffer);
60
48
  buffer = await this.decrypt(buffer);
61
49
  const dataView = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
62
50
  length = dataView.getUint32(0, true);
63
51
  }
64
52
  const buffer = new Uint8Array(length);
65
- await __classPrivateFieldGet(this, _TransportIntermediate_connection, "f").read(buffer);
53
+ await this.#connection.read(buffer);
66
54
  return await this.decrypt(buffer);
67
55
  }
68
56
  async send(buffer) {
69
57
  const length = (0, _1_utilities_js_1.bufferFromBigInt)(buffer.length, 4);
70
58
  const data = (0, _0_deps_js_1.concat)([length, buffer]);
71
- await __classPrivateFieldGet(this, _TransportIntermediate_connection, "f").write(await this.encrypt(data));
59
+ await this.#connection.write(await this.encrypt(data));
72
60
  }
73
61
  }
74
62
  exports.TransportIntermediate = TransportIntermediate;
75
- _TransportIntermediate_connection = new WeakMap(), _TransportIntermediate_obfuscated = new WeakMap();
@@ -1 +1 @@
1
- {"version":3,"file":"2_transport_provider_web_socket.d.ts","sourceRoot":"","sources":["../../src/transport/2_transport_provider_web_socket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAe,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAY3E,eAAO,MAAM,0BAA0B,YAAa;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,iBAUvE,CAAC"}
1
+ {"version":3,"file":"2_transport_provider_web_socket.d.ts","sourceRoot":"","sources":["../../src/transport/2_transport_provider_web_socket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAe,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAY3E,eAAO,MAAM,0BAA0B,GAAI,SAAS;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,iBAUvE,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * MTKruto - Cross-runtime JavaScript library for building Telegram clients
3
+ * Copyright (C) 2023-2025 Roj <https://roj.im/>
4
+ *
5
+ * This file is part of MTKruto.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Lesser General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+ /** The progress of an upload. */
21
+ export interface UploadProgress {
22
+ /** The identifier of the upload progress retrieved from the method getProgressId. */
23
+ id: string;
24
+ /** Uploaded byte count. */
25
+ uploaded: number;
26
+ /** Total byte count if available, otherwise 0. */
27
+ total: number;
28
+ }
29
+ //# sourceMappingURL=0_upload_progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0_upload_progress.d.ts","sourceRoot":"","sources":["../../src/types/0_upload_progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,iCAAiC;AACjC,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;CACf"}