@mtcute/convert 0.17.0 → 0.18.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 (113) hide show
  1. package/convert/src/dcs.cjs +119 -0
  2. package/convert/src/dcs.js +114 -0
  3. package/convert/src/gramjs/convert.cjs +30 -0
  4. package/convert/src/gramjs/convert.js +25 -0
  5. package/convert/src/gramjs/parse.cjs +33 -0
  6. package/convert/src/gramjs/parse.js +28 -0
  7. package/convert/src/gramjs/serialize.cjs +26 -0
  8. package/convert/src/gramjs/serialize.js +21 -0
  9. package/convert/src/mtkruto/convert.cjs +33 -0
  10. package/convert/src/mtkruto/convert.js +28 -0
  11. package/convert/src/mtkruto/parse.cjs +31 -0
  12. package/convert/src/mtkruto/parse.js +26 -0
  13. package/convert/src/mtkruto/serialize.cjs +18 -0
  14. package/convert/src/mtkruto/serialize.js +13 -0
  15. package/convert/src/pyrogram/convert.cjs +42 -0
  16. package/convert/src/pyrogram/convert.js +37 -0
  17. package/convert/src/pyrogram/parse.cjs +52 -0
  18. package/convert/src/pyrogram/parse.js +47 -0
  19. package/convert/src/pyrogram/serialize.cjs +40 -0
  20. package/convert/src/pyrogram/serialize.js +35 -0
  21. package/convert/src/tdesktop/convert.cjs +66 -0
  22. package/convert/src/tdesktop/convert.js +61 -0
  23. package/convert/src/tdesktop/qt-bundle.cjs +11 -0
  24. package/convert/src/tdesktop/qt-bundle.js +6 -0
  25. package/convert/src/tdesktop/qt-reader.cjs +38 -0
  26. package/convert/src/tdesktop/qt-reader.js +33 -0
  27. package/convert/src/tdesktop/qt-writer.cjs +34 -0
  28. package/convert/src/tdesktop/qt-writer.js +29 -0
  29. package/convert/src/tdesktop/tdata.cjs +359 -0
  30. package/convert/src/tdesktop/tdata.js +332 -0
  31. package/convert/src/telethon/convert.cjs +47 -0
  32. package/convert/src/telethon/convert.js +42 -0
  33. package/convert/src/telethon/parse.cjs +39 -0
  34. package/convert/src/telethon/parse.js +34 -0
  35. package/convert/src/telethon/serialize.cjs +34 -0
  36. package/convert/src/telethon/serialize.js +29 -0
  37. package/convert/src/utils/crypto.cjs +53 -0
  38. package/convert/src/utils/crypto.js +26 -0
  39. package/convert/src/utils/rle.cjs +49 -0
  40. package/convert/src/utils/rle.js +44 -0
  41. package/dcs.d.cts +4 -0
  42. package/gramjs/__fixtures__/session.d.cts +1 -0
  43. package/gramjs/convert.d.cts +4 -0
  44. package/gramjs/convert.test.d.cts +1 -0
  45. package/gramjs/index.d.cts +4 -0
  46. package/gramjs/parse.d.cts +2 -0
  47. package/gramjs/parse.test.d.cts +1 -0
  48. package/gramjs/serialize.d.cts +2 -0
  49. package/gramjs/serialize.test.d.cts +1 -0
  50. package/gramjs/types.d.cts +7 -0
  51. package/index.cjs +41 -488
  52. package/index.d.cts +1 -0
  53. package/index.d.ts +1 -0
  54. package/index.js +20 -467
  55. package/mtkruto/__fixtures__/session.d.cts +1 -0
  56. package/mtkruto/convert.d.cts +4 -0
  57. package/mtkruto/convert.test.d.cts +1 -0
  58. package/mtkruto/index.d.cts +4 -0
  59. package/mtkruto/parse.d.cts +2 -0
  60. package/mtkruto/parse.test.d.cts +1 -0
  61. package/mtkruto/serialize.d.cts +2 -0
  62. package/mtkruto/serialize.test.d.cts +1 -0
  63. package/mtkruto/types.d.cts +5 -0
  64. package/node/src/utils/crypto.cjs +75 -0
  65. package/node/src/utils/crypto.js +69 -0
  66. package/node/src/utils.cjs +34 -0
  67. package/node/src/utils.js +7 -0
  68. package/package.json +12 -9
  69. package/pyrogram/__fixtures__/session.d.cts +1 -0
  70. package/pyrogram/__fixtures__/session_old.d.cts +1 -0
  71. package/pyrogram/convert.d.cts +6 -0
  72. package/pyrogram/convert.test.d.cts +1 -0
  73. package/pyrogram/index.d.cts +4 -0
  74. package/pyrogram/parse.d.cts +2 -0
  75. package/pyrogram/parse.test.d.cts +1 -0
  76. package/pyrogram/serialize.d.cts +2 -0
  77. package/pyrogram/serialize.test.d.cts +1 -0
  78. package/pyrogram/types.d.cts +8 -0
  79. package/tdesktop/convert.d.cts +5 -0
  80. package/tdesktop/convert.d.ts +5 -0
  81. package/tdesktop/index.d.cts +5 -0
  82. package/tdesktop/index.d.ts +5 -0
  83. package/tdesktop/qt-bundle.d.cts +3 -0
  84. package/tdesktop/qt-bundle.d.ts +3 -0
  85. package/tdesktop/qt-reader.d.cts +6 -0
  86. package/tdesktop/qt-reader.d.ts +6 -0
  87. package/tdesktop/qt-writer.d.cts +6 -0
  88. package/tdesktop/qt-writer.d.ts +6 -0
  89. package/tdesktop/tdata.d.cts +65 -0
  90. package/tdesktop/tdata.d.ts +65 -0
  91. package/tdesktop/tdata.test.d.cts +1 -0
  92. package/tdesktop/tdata.test.d.ts +1 -0
  93. package/tdesktop/types.d.cts +22 -0
  94. package/tdesktop/types.d.ts +22 -0
  95. package/telethon/__fixtures__/session.d.cts +1 -0
  96. package/telethon/__fixtures__/session_v6.d.cts +1 -0
  97. package/telethon/convert.d.cts +4 -0
  98. package/telethon/convert.test.d.cts +1 -0
  99. package/telethon/index.d.cts +4 -0
  100. package/telethon/parse.d.cts +2 -0
  101. package/telethon/parse.test.d.cts +1 -0
  102. package/telethon/serialize.d.cts +2 -0
  103. package/telethon/serialize.test.d.cts +1 -0
  104. package/telethon/types.d.cts +7 -0
  105. package/types.d.cts +0 -0
  106. package/utils/crypto.d.cts +9 -0
  107. package/utils/crypto.d.ts +9 -0
  108. package/utils/fs.d.cts +11 -0
  109. package/utils/fs.d.ts +11 -0
  110. package/utils/rle.d.cts +3 -0
  111. package/wasm/src/index.cjs +64 -0
  112. package/wasm/src/index.js +59 -0
  113. package/utils/ip.d.ts +0 -3
@@ -0,0 +1,47 @@
1
+ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
2
+ globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
3
+ console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
4
+ console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
5
+ }
6
+ "use strict";
7
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
+ const utils_js = require("@mtcute/core/utils.js");
9
+ const dcs = require("../dcs.cjs");
10
+ const parse = require("./parse.cjs");
11
+ const serialize = require("./serialize.cjs");
12
+ function convertFromTelethonSession(session) {
13
+ if (typeof session === "string") {
14
+ session = parse.parseTelethonSession(session);
15
+ }
16
+ const dc = {
17
+ id: session.dcId,
18
+ ipAddress: session.ipAddress,
19
+ port: session.port,
20
+ ipv6: session.ipv6,
21
+ // we don't exactly have that information. try to deduce it from DC_MAPPING_TEST
22
+ // todo: we should maybe check this at connect?
23
+ testMode: dcs.isTestDc(session.ipAddress)
24
+ };
25
+ return {
26
+ version: 3,
27
+ primaryDcs: {
28
+ main: dc,
29
+ media: dc
30
+ },
31
+ authKey: session.authKey
32
+ };
33
+ }
34
+ function convertToTelethonSession(session) {
35
+ if (typeof session === "string") {
36
+ session = utils_js.readStringSession(session);
37
+ }
38
+ return serialize.serializeTelethonSession({
39
+ dcId: session.primaryDcs.main.id,
40
+ ipAddress: session.primaryDcs.main.ipAddress,
41
+ port: session.primaryDcs.main.port,
42
+ ipv6: session.primaryDcs.main.ipv6 ?? false,
43
+ authKey: session.authKey
44
+ });
45
+ }
46
+ exports.convertFromTelethonSession = convertFromTelethonSession;
47
+ exports.convertToTelethonSession = convertToTelethonSession;
@@ -0,0 +1,42 @@
1
+ import { readStringSession } from "@mtcute/core/utils.js";
2
+ import { isTestDc } from "../dcs.js";
3
+ import { parseTelethonSession } from "./parse.js";
4
+ import { serializeTelethonSession } from "./serialize.js";
5
+ function convertFromTelethonSession(session) {
6
+ if (typeof session === "string") {
7
+ session = parseTelethonSession(session);
8
+ }
9
+ const dc = {
10
+ id: session.dcId,
11
+ ipAddress: session.ipAddress,
12
+ port: session.port,
13
+ ipv6: session.ipv6,
14
+ // we don't exactly have that information. try to deduce it from DC_MAPPING_TEST
15
+ // todo: we should maybe check this at connect?
16
+ testMode: isTestDc(session.ipAddress)
17
+ };
18
+ return {
19
+ version: 3,
20
+ primaryDcs: {
21
+ main: dc,
22
+ media: dc
23
+ },
24
+ authKey: session.authKey
25
+ };
26
+ }
27
+ function convertToTelethonSession(session) {
28
+ if (typeof session === "string") {
29
+ session = readStringSession(session);
30
+ }
31
+ return serializeTelethonSession({
32
+ dcId: session.primaryDcs.main.id,
33
+ ipAddress: session.primaryDcs.main.ipAddress,
34
+ port: session.primaryDcs.main.port,
35
+ ipv6: session.primaryDcs.main.ipv6 ?? false,
36
+ authKey: session.authKey
37
+ });
38
+ }
39
+ export {
40
+ convertFromTelethonSession,
41
+ convertToTelethonSession
42
+ };
@@ -0,0 +1,39 @@
1
+ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
2
+ globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
3
+ console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
4
+ console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
5
+ }
6
+ "use strict";
7
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
+ const net = require("@fuman/net");
9
+ const utils = require("@fuman/utils");
10
+ const core = require("@mtcute/core");
11
+ function parseTelethonSession(session) {
12
+ if (session[0] !== "1") {
13
+ throw new core.MtArgumentError(`Invalid session string (version = ${session[0]})`);
14
+ }
15
+ session = session.slice(1);
16
+ const data = utils.base64.decode(session, true);
17
+ const dv = utils.typed.toDataView(data);
18
+ const dcId = dv.getUint8(0);
19
+ const ipSize = session.length === 352 ? 4 : 16;
20
+ let pos = 1 + ipSize;
21
+ const ipBytes = data.subarray(1, pos);
22
+ const port = dv.getUint16(pos);
23
+ pos += 2;
24
+ const authKey = data.subarray(pos, pos + 256);
25
+ let parsedIp;
26
+ if (ipSize === 16) {
27
+ parsedIp = net.ip.stringifyV6(net.ip.fromBytesV6(ipBytes));
28
+ } else {
29
+ parsedIp = net.ip.stringifyV4({ type: "ipv4", parts: ipBytes });
30
+ }
31
+ return {
32
+ dcId,
33
+ ipAddress: parsedIp,
34
+ ipv6: ipSize === 16,
35
+ port,
36
+ authKey
37
+ };
38
+ }
39
+ exports.parseTelethonSession = parseTelethonSession;
@@ -0,0 +1,34 @@
1
+ import { ip } from "@fuman/net";
2
+ import { base64, typed } from "@fuman/utils";
3
+ import { MtArgumentError } from "@mtcute/core";
4
+ function parseTelethonSession(session) {
5
+ if (session[0] !== "1") {
6
+ throw new MtArgumentError(`Invalid session string (version = ${session[0]})`);
7
+ }
8
+ session = session.slice(1);
9
+ const data = base64.decode(session, true);
10
+ const dv = typed.toDataView(data);
11
+ const dcId = dv.getUint8(0);
12
+ const ipSize = session.length === 352 ? 4 : 16;
13
+ let pos = 1 + ipSize;
14
+ const ipBytes = data.subarray(1, pos);
15
+ const port = dv.getUint16(pos);
16
+ pos += 2;
17
+ const authKey = data.subarray(pos, pos + 256);
18
+ let parsedIp;
19
+ if (ipSize === 16) {
20
+ parsedIp = ip.stringifyV6(ip.fromBytesV6(ipBytes));
21
+ } else {
22
+ parsedIp = ip.stringifyV4({ type: "ipv4", parts: ipBytes });
23
+ }
24
+ return {
25
+ dcId,
26
+ ipAddress: parsedIp,
27
+ ipv6: ipSize === 16,
28
+ port,
29
+ authKey
30
+ };
31
+ }
32
+ export {
33
+ parseTelethonSession
34
+ };
@@ -0,0 +1,34 @@
1
+ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
2
+ globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
3
+ console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
4
+ console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
5
+ }
6
+ "use strict";
7
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
+ const net = require("@fuman/net");
9
+ const utils = require("@fuman/utils");
10
+ const core = require("@mtcute/core");
11
+ function serializeTelethonSession(session) {
12
+ if (session.authKey.length !== 256) {
13
+ throw new core.MtArgumentError("authKey must be 256 bytes long");
14
+ }
15
+ const ipSize = session.ipv6 ? 16 : 4;
16
+ const buf = utils.u8.alloc(259 + ipSize);
17
+ const dv = utils.typed.toDataView(buf);
18
+ dv.setUint8(0, session.dcId);
19
+ let pos;
20
+ if (session.ipv6) {
21
+ buf.subarray(1, 17).set(net.ip.toBytesV6(net.ip.parseV6(session.ipAddress)));
22
+ pos = 17;
23
+ } else {
24
+ buf.subarray(1, 5).set(net.ip.parseV4(session.ipAddress).parts);
25
+ pos = 5;
26
+ }
27
+ dv.setUint16(pos, session.port);
28
+ pos += 2;
29
+ buf.set(session.authKey, pos);
30
+ let b64 = utils.base64.encode(buf, true);
31
+ while (b64.length % 4 !== 0) b64 += "=";
32
+ return `1${b64}`;
33
+ }
34
+ exports.serializeTelethonSession = serializeTelethonSession;
@@ -0,0 +1,29 @@
1
+ import { ip } from "@fuman/net";
2
+ import { u8, typed, base64 } from "@fuman/utils";
3
+ import { MtArgumentError } from "@mtcute/core";
4
+ function serializeTelethonSession(session) {
5
+ if (session.authKey.length !== 256) {
6
+ throw new MtArgumentError("authKey must be 256 bytes long");
7
+ }
8
+ const ipSize = session.ipv6 ? 16 : 4;
9
+ const buf = u8.alloc(259 + ipSize);
10
+ const dv = typed.toDataView(buf);
11
+ dv.setUint8(0, session.dcId);
12
+ let pos;
13
+ if (session.ipv6) {
14
+ buf.subarray(1, 17).set(ip.toBytesV6(ip.parseV6(session.ipAddress)));
15
+ pos = 17;
16
+ } else {
17
+ buf.subarray(1, 5).set(ip.parseV4(session.ipAddress).parts);
18
+ pos = 5;
19
+ }
20
+ dv.setUint16(pos, session.port);
21
+ pos += 2;
22
+ buf.set(session.authKey, pos);
23
+ let b64 = base64.encode(buf, true);
24
+ while (b64.length % 4 !== 0) b64 += "=";
25
+ return `1${b64}`;
26
+ }
27
+ export {
28
+ serializeTelethonSession
29
+ };
@@ -0,0 +1,53 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from))
10
+ if (!__hasOwnProp.call(to, key) && key !== except)
11
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ }
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ // If the importer is in node compatibility mode or this is not an ESM
17
+ // file that has been converted to a CommonJS file using a Babel-
18
+ // compatible transform (i.e. "__esModule" has not been set), then set
19
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
24
+ globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
25
+ console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
26
+ console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
27
+ }
28
+ "use strict";
29
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
30
+ async function getDefaultCryptoProvider() {
31
+ const crypto = (
32
+ /* @vite-ignore */
33
+ await import("node:crypto")
34
+ );
35
+ const { NodeCryptoProvider } = (
36
+ /* @vite-ignore */
37
+ await Promise.resolve().then(() => require("../../../node/src/utils.cjs"))
38
+ );
39
+ return new class extends NodeCryptoProvider {
40
+ createHash(algorithm) {
41
+ const hasher = crypto.createHash(algorithm);
42
+ return {
43
+ update(data) {
44
+ hasher.update(data);
45
+ },
46
+ digest() {
47
+ return hasher.digest();
48
+ }
49
+ };
50
+ }
51
+ }();
52
+ }
53
+ exports.getDefaultCryptoProvider = getDefaultCryptoProvider;
@@ -0,0 +1,26 @@
1
+ async function getDefaultCryptoProvider() {
2
+ const crypto = (
3
+ /* @vite-ignore */
4
+ await import("node:crypto")
5
+ );
6
+ const { NodeCryptoProvider } = (
7
+ /* @vite-ignore */
8
+ await import("../../../node/src/utils.js")
9
+ );
10
+ return new class extends NodeCryptoProvider {
11
+ createHash(algorithm) {
12
+ const hasher = crypto.createHash(algorithm);
13
+ return {
14
+ update(data) {
15
+ hasher.update(data);
16
+ },
17
+ digest() {
18
+ return hasher.digest();
19
+ }
20
+ };
21
+ }
22
+ }();
23
+ }
24
+ export {
25
+ getDefaultCryptoProvider
26
+ };
@@ -0,0 +1,49 @@
1
+ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
2
+ globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
3
+ console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
4
+ console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
5
+ }
6
+ "use strict";
7
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
+ function telegramRleEncode(buf) {
9
+ const len = buf.length;
10
+ const ret = [];
11
+ let count = 0;
12
+ for (let i = 0; i < len; i++) {
13
+ const cur = buf[i];
14
+ if (cur === 0) {
15
+ count += 1;
16
+ } else {
17
+ if (count > 0) {
18
+ ret.push(0, count);
19
+ count = 0;
20
+ }
21
+ ret.push(cur);
22
+ }
23
+ }
24
+ if (count > 0) {
25
+ ret.push(0, count);
26
+ }
27
+ return new Uint8Array(ret);
28
+ }
29
+ function telegramRleDecode(buf) {
30
+ const len = buf.length;
31
+ const ret = [];
32
+ let prev = -1;
33
+ for (let i = 0; i < len; i++) {
34
+ const cur = buf[i];
35
+ if (prev === 0) {
36
+ for (let j = 0; j < cur; j++) {
37
+ ret.push(prev);
38
+ }
39
+ prev = -1;
40
+ } else {
41
+ if (prev !== -1) ret.push(prev);
42
+ prev = cur;
43
+ }
44
+ }
45
+ if (prev !== -1) ret.push(prev);
46
+ return new Uint8Array(ret);
47
+ }
48
+ exports.telegramRleDecode = telegramRleDecode;
49
+ exports.telegramRleEncode = telegramRleEncode;
@@ -0,0 +1,44 @@
1
+ function telegramRleEncode(buf) {
2
+ const len = buf.length;
3
+ const ret = [];
4
+ let count = 0;
5
+ for (let i = 0; i < len; i++) {
6
+ const cur = buf[i];
7
+ if (cur === 0) {
8
+ count += 1;
9
+ } else {
10
+ if (count > 0) {
11
+ ret.push(0, count);
12
+ count = 0;
13
+ }
14
+ ret.push(cur);
15
+ }
16
+ }
17
+ if (count > 0) {
18
+ ret.push(0, count);
19
+ }
20
+ return new Uint8Array(ret);
21
+ }
22
+ function telegramRleDecode(buf) {
23
+ const len = buf.length;
24
+ const ret = [];
25
+ let prev = -1;
26
+ for (let i = 0; i < len; i++) {
27
+ const cur = buf[i];
28
+ if (prev === 0) {
29
+ for (let j = 0; j < cur; j++) {
30
+ ret.push(prev);
31
+ }
32
+ prev = -1;
33
+ } else {
34
+ if (prev !== -1) ret.push(prev);
35
+ prev = cur;
36
+ }
37
+ }
38
+ if (prev !== -1) ret.push(prev);
39
+ return new Uint8Array(ret);
40
+ }
41
+ export {
42
+ telegramRleDecode,
43
+ telegramRleEncode
44
+ };
package/dcs.d.cts ADDED
@@ -0,0 +1,4 @@
1
+ import { DcOptions } from '@mtcute/core/utils.js';
2
+ export declare const DC_MAPPING_PROD: Record<number, DcOptions>;
3
+ export declare const DC_MAPPING_TEST: Record<number, DcOptions>;
4
+ export declare function isTestDc(ip: string): boolean;
@@ -0,0 +1 @@
1
+ export declare const GRAMJS_SESSION = "1AgAOMTQ5LjE1NC4xNjcuNDABu60obcEYS8Yb/I7YlCwaLvW84dXCX2oGnBYG+zuMciJhHP99c8ZJvwxJgH8yU1QrqI+Gh0kK0JAuQucIpDfq/jJVLZ1ZRimq5yy1XbeEs65gtZA1+SUwZRXahh+NzGbPmOVUMCnCtRONo9GNvcx/QxSXRrh7T/K0YYN1iHsK1vJDk8/SUnthvTNmRycC+JLn4fMtctqP4Le2WPOH/deYbUF0BlwmR77M7fv1GZSInqCgWReaIl5nvn0IqA4mOCTkdOgcvwOiB2UmXwiyInxRuLdBIyLbBUDCuTlmL1m3FJqbuEpZEUJnoJf2YDFZ1wR6TfL0MUS1VwnjOcy3WIIFwwg=";
@@ -0,0 +1,4 @@
1
+ import { StringSessionData } from '@mtcute/core/utils.js';
2
+ import { TelethonSession } from '../telethon/types.js';
3
+ export declare function convertFromGramjsSession(session: TelethonSession | string): StringSessionData;
4
+ export declare function convertToGramjsSession(session: StringSessionData | string): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export * from './convert.js';
2
+ export * from './parse.js';
3
+ export * from './serialize.js';
4
+ export * from './types.js';
@@ -0,0 +1,2 @@
1
+ import { TelethonSession } from '../telethon/types.js';
2
+ export declare function parseGramjsSession(session: string): TelethonSession;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { TelethonSession } from '../telethon/types.js';
2
+ export declare function serializeGramjsSession(session: TelethonSession): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface GramjsSession {
2
+ dcId: number;
3
+ ipAddress: string;
4
+ ipv6: boolean;
5
+ port: number;
6
+ authKey: Uint8Array;
7
+ }