@mtcute/test 0.9.0 → 0.11.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.
- package/esm/client.js +13 -11
- package/esm/client.js.map +1 -1
- package/esm/crypto.js.map +1 -1
- package/esm/schema.js.map +1 -1
- package/esm/storage.js +1 -0
- package/esm/storage.js.map +1 -1
- package/esm/stub.js.map +1 -1
- package/esm/transport.js +5 -2
- package/esm/transport.js.map +1 -1
- package/esm/utils.js.map +1 -1
- package/package.json +8 -13
- package/cjs/client.d.ts +0 -54
- package/cjs/client.js +0 -235
- package/cjs/client.js.map +0 -1
- package/cjs/crypto.d.ts +0 -6
- package/cjs/crypto.js +0 -186
- package/cjs/crypto.js.map +0 -1
- package/cjs/index.d.ts +0 -8
- package/cjs/index.js +0 -25
- package/cjs/index.js.map +0 -1
- package/cjs/package.json +0 -3
- package/cjs/platform.d.ts +0 -3
- package/cjs/platform.js +0 -7
- package/cjs/platform.js.map +0 -1
- package/cjs/platform.web.d.ts +0 -3
- package/cjs/platform.web.js +0 -7
- package/cjs/platform.web.js.map +0 -1
- package/cjs/schema.d.ts +0 -1
- package/cjs/schema.js +0 -55
- package/cjs/schema.js.map +0 -1
- package/cjs/storage/auth-keys.d.ts +0 -3
- package/cjs/storage/auth-keys.js +0 -95
- package/cjs/storage/auth-keys.js.map +0 -1
- package/cjs/storage/index.d.ts +0 -4
- package/cjs/storage/index.js +0 -21
- package/cjs/storage/index.js.map +0 -1
- package/cjs/storage/key-value.d.ts +0 -3
- package/cjs/storage/key-value.js +0 -41
- package/cjs/storage/key-value.js.map +0 -1
- package/cjs/storage/peers.d.ts +0 -3
- package/cjs/storage/peers.js +0 -75
- package/cjs/storage/peers.js.map +0 -1
- package/cjs/storage/ref-messages.d.ts +0 -3
- package/cjs/storage/ref-messages.js +0 -69
- package/cjs/storage/ref-messages.js.map +0 -1
- package/cjs/storage.d.ts +0 -37
- package/cjs/storage.js +0 -48
- package/cjs/storage.js.map +0 -1
- package/cjs/stub.d.ts +0 -2
- package/cjs/stub.js +0 -71
- package/cjs/stub.js.map +0 -1
- package/cjs/transport.d.ts +0 -30
- package/cjs/transport.js +0 -52
- package/cjs/transport.js.map +0 -1
- package/cjs/types.d.ts +0 -8
- package/cjs/types.js +0 -3
- package/cjs/types.js.map +0 -1
- package/cjs/utils.d.ts +0 -2
- package/cjs/utils.js +0 -17
- package/cjs/utils.js.map +0 -1
package/cjs/stub.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stub.js","sourceRoot":"","sources":["../../src/stub.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAKvB,2CAA2C;AAE3C,SAAS,aAAa,CAAC,GAAe;IAClC,IAAI,GAAG,CAAC,aAAa,EAAE,QAAQ,IAAI,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE;QAChE,OAAO,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE;QAC9B,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;KACjD;IAED,QAAQ,GAAG,CAAC,IAAI,EAAE;QACd,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACT,OAAO,CAAC,CAAA;QACZ,KAAK,MAAM;YACP,OAAO,cAAI,CAAC,IAAI,CAAA;QACpB,KAAK,QAAQ;YACT,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAC7B,KAAK,QAAQ;YACT,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAC7B,KAAK,QAAQ;YACT,OAAO,EAAE,CAAA;QACb,KAAK,OAAO;YACR,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC5B,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACP,OAAO,KAAK,CAAA;QAEhB,OAAO,CAAC,CAAC;YACL,MAAM,KAAK,GAAG,IAAA,yBAAa,GAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;YAEvD,8DAA8D;YAC9D,OAAO,UAAU,CAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SACxC;KACJ;AACL,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE;IACvC,OAAO,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE;QAC7C,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,SAAgB,UAAU,CACtB,IAAO,EACP,UAAkD,EAAE;IAEpD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,yBAAa,GAAE,CAAA;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAE/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,CAAA;IAEvD,MAAM,GAAG,GAA4B;QACjC,CAAC,EAAE,IAAI;KACV,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE;QAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG;YAAE,SAAQ;QAC9B,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO;YAAE,SAAQ;QAEjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;KACnD;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QACvB,gDAAgD;QAChD,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;KAC1B;IAED,2BAA2B;IAC3B,OAAO,GAAU,CAAA;AACrB,CAAC;AA3BD,gCA2BC","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\nimport type { TlArgument } from '@mtcute/tl-utils'\n\nimport { getEntriesMap } from './schema.js'\n\nfunction getDefaultFor(arg: TlArgument): unknown {\n if (arg.typeModifiers?.isVector || arg.typeModifiers?.isBareVector) {\n return []\n }\n\n if (arg.typeModifiers?.predicate) {\n return arg.type === 'true' ? false : undefined\n }\n\n switch (arg.type) {\n case 'int':\n case 'int53':\n case 'double':\n return 0\n case 'long':\n return Long.ZERO\n case 'int128':\n return new Uint8Array(16)\n case 'int256':\n return new Uint8Array(32)\n case 'string':\n return ''\n case 'bytes':\n return new Uint8Array(0)\n case 'Bool':\n case 'bool':\n return false\n\n default: {\n const union = getEntriesMap().unions.get(arg.type)\n if (!union) throw new Error(`Unknown type ${arg.type}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return createStub<any>(union[0].name)\n }\n }\n}\n\nconst snakeToCamel = (s: string): string => {\n return s.replace(/(?<!^|_)(_[a-z0-9])/gi, ($1) => {\n return $1.substring(1).toUpperCase()\n })\n}\n\nexport function createStub<T extends tl.TlObject['_']>(\n name: T,\n partial: Partial<tl.FindByName<tl.TlObject, T>> = {},\n): tl.FindByName<tl.TlObject, T> {\n const { entries } = getEntriesMap()\n const entry = entries.get(name)\n\n if (!entry) throw new Error(`Entry ${name} is unknown`)\n\n const ret: Record<string, unknown> = {\n _: name,\n }\n\n for (const arg of entry.arguments) {\n if (arg.type === '#') continue\n if (arg.name in partial) continue\n\n ret[snakeToCamel(arg.name)] = getDefaultFor(arg)\n }\n\n for (const key in partial) {\n // @ts-expect-error partial is not a full object\n ret[key] = partial[key]\n }\n\n // eslint-disable-next-line\n return ret as any\n}\n"]}
|
package/cjs/transport.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import EventEmitter from 'events';
|
|
3
|
-
import { ITelegramTransport, TransportState } from '@mtcute/core';
|
|
4
|
-
import { ICryptoProvider, Logger } from '@mtcute/core/utils.js';
|
|
5
|
-
import { tl } from '@mtcute/tl';
|
|
6
|
-
export declare class StubTelegramTransport extends EventEmitter implements ITelegramTransport {
|
|
7
|
-
readonly params: {
|
|
8
|
-
getMtproxyInfo?: () => tl.RawInputClientProxy;
|
|
9
|
-
onConnect?: (dc: tl.RawDcOption, testMode: boolean) => void;
|
|
10
|
-
onClose?: () => void;
|
|
11
|
-
onMessage?: (msg: Uint8Array) => void;
|
|
12
|
-
};
|
|
13
|
-
constructor(params: {
|
|
14
|
-
getMtproxyInfo?: () => tl.RawInputClientProxy;
|
|
15
|
-
onConnect?: (dc: tl.RawDcOption, testMode: boolean) => void;
|
|
16
|
-
onClose?: () => void;
|
|
17
|
-
onMessage?: (msg: Uint8Array) => void;
|
|
18
|
-
});
|
|
19
|
-
_state: TransportState;
|
|
20
|
-
_currentDc: tl.RawDcOption | null;
|
|
21
|
-
_crypto: ICryptoProvider;
|
|
22
|
-
_log: Logger;
|
|
23
|
-
write(data: Uint8Array): void;
|
|
24
|
-
setup(crypto: ICryptoProvider, log: Logger): void;
|
|
25
|
-
state(): TransportState;
|
|
26
|
-
currentDc(): tl.RawDcOption | null;
|
|
27
|
-
connect(dc: tl.RawDcOption, testMode: boolean): void;
|
|
28
|
-
close(): void;
|
|
29
|
-
send(data: Uint8Array): Promise<void>;
|
|
30
|
-
}
|
package/cjs/transport.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.StubTelegramTransport = void 0;
|
|
7
|
-
const events_1 = __importDefault(require("events"));
|
|
8
|
-
const core_1 = require("@mtcute/core");
|
|
9
|
-
class StubTelegramTransport extends events_1.default {
|
|
10
|
-
constructor(params) {
|
|
11
|
-
super();
|
|
12
|
-
this.params = params;
|
|
13
|
-
this._state = core_1.TransportState.Idle;
|
|
14
|
-
this._currentDc = null;
|
|
15
|
-
if (params.getMtproxyInfo) {
|
|
16
|
-
this.getMtproxyInfo = params.getMtproxyInfo;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
write(data) {
|
|
20
|
-
this.emit('message', data);
|
|
21
|
-
}
|
|
22
|
-
setup(crypto, log) {
|
|
23
|
-
this._crypto = crypto;
|
|
24
|
-
this._log = log;
|
|
25
|
-
}
|
|
26
|
-
state() {
|
|
27
|
-
return this._state;
|
|
28
|
-
}
|
|
29
|
-
currentDc() {
|
|
30
|
-
return this._currentDc;
|
|
31
|
-
}
|
|
32
|
-
connect(dc, testMode) {
|
|
33
|
-
this._currentDc = dc;
|
|
34
|
-
this._state = core_1.TransportState.Ready;
|
|
35
|
-
this.emit('ready');
|
|
36
|
-
this._log.debug('stubbing connection to %s:%d', dc.ipAddress, dc.port);
|
|
37
|
-
this.params.onConnect?.(dc, testMode);
|
|
38
|
-
}
|
|
39
|
-
close() {
|
|
40
|
-
this._currentDc = null;
|
|
41
|
-
this._state = core_1.TransportState.Idle;
|
|
42
|
-
this.emit('close');
|
|
43
|
-
this._log.debug('stub connection closed');
|
|
44
|
-
this.params.onClose?.();
|
|
45
|
-
}
|
|
46
|
-
// eslint-disable-next-line @typescript-eslint/require-await
|
|
47
|
-
async send(data) {
|
|
48
|
-
this.params.onMessage?.(data);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.StubTelegramTransport = StubTelegramTransport;
|
|
52
|
-
//# sourceMappingURL=transport.js.map
|
package/cjs/transport.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAiC;AAEjC,uCAAiE;AAIjE,MAAa,qBAAsB,SAAQ,gBAAY;IACnD,YACa,MAKR;QAED,KAAK,EAAE,CAAA;QAPE,WAAM,GAAN,MAAM,CAKd;QASL,WAAM,GAAG,qBAAc,CAAC,IAAI,CAAA;QAC5B,eAAU,GAA0B,IAAI,CAAA;QANpC,IAAI,MAAM,CAAC,cAAc,EAAE;YACtB,IAA2B,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;SACtE;IACL,CAAC;IAOD,KAAK,CAAC,IAAgB;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAuB,EAAE,GAAW;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACnB,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,EAAkB,EAAE,QAAiB;QACzC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,qBAAc,CAAC,KAAK,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAEtE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,qBAAc,CAAC,IAAI,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAA;IAC3B,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,IAAI,CAAC,IAAgB;QACvB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACJ;AA5DD,sDA4DC","sourcesContent":["import EventEmitter from 'events'\n\nimport { ITelegramTransport, TransportState } from '@mtcute/core'\nimport { ICryptoProvider, Logger } from '@mtcute/core/utils.js'\nimport { tl } from '@mtcute/tl'\n\nexport class StubTelegramTransport extends EventEmitter implements ITelegramTransport {\n constructor(\n readonly params: {\n getMtproxyInfo?: () => tl.RawInputClientProxy\n onConnect?: (dc: tl.RawDcOption, testMode: boolean) => void\n onClose?: () => void\n onMessage?: (msg: Uint8Array) => void\n },\n ) {\n super()\n\n if (params.getMtproxyInfo) {\n (this as ITelegramTransport).getMtproxyInfo = params.getMtproxyInfo\n }\n }\n\n _state = TransportState.Idle\n _currentDc: tl.RawDcOption | null = null\n _crypto!: ICryptoProvider\n _log!: Logger\n\n write(data: Uint8Array): void {\n this.emit('message', data)\n }\n\n setup(crypto: ICryptoProvider, log: Logger): void {\n this._crypto = crypto\n this._log = log\n }\n\n state(): TransportState {\n return this._state\n }\n\n currentDc(): tl.RawDcOption | null {\n return this._currentDc\n }\n\n connect(dc: tl.RawDcOption, testMode: boolean): void {\n this._currentDc = dc\n this._state = TransportState.Ready\n this.emit('ready')\n this._log.debug('stubbing connection to %s:%d', dc.ipAddress, dc.port)\n\n this.params.onConnect?.(dc, testMode)\n }\n\n close(): void {\n this._currentDc = null\n this._state = TransportState.Idle\n this.emit('close')\n this._log.debug('stub connection closed')\n\n this.params.onClose?.()\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async send(data: Uint8Array): Promise<void> {\n this.params.onMessage?.(data)\n }\n}\n"]}
|
package/cjs/types.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { tl } from '@mtcute/tl';
|
|
2
|
-
import type { StubTelegramClient } from './client.js';
|
|
3
|
-
export type Responder<Method extends tl.RpcMethod['_']> = [
|
|
4
|
-
Method,
|
|
5
|
-
(req: tl.FindByName<tl.RpcMethod, Method>) => tl.RpcCallReturn[Method]
|
|
6
|
-
];
|
|
7
|
-
export type ResponderFactory<Method extends tl.RpcMethod['_']> = (client: StubTelegramClient) => Responder<Method>;
|
|
8
|
-
export type InputResponder<Method extends tl.RpcMethod['_']> = Responder<Method> | ResponderFactory<Method> | InputResponder<Method>[];
|
package/cjs/types.js
DELETED
package/cjs/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport type { StubTelegramClient } from './client.js'\n\nexport type Responder<Method extends tl.RpcMethod['_']> = [\n Method,\n (req: tl.FindByName<tl.RpcMethod, Method>) => tl.RpcCallReturn[Method],\n]\nexport type ResponderFactory<Method extends tl.RpcMethod['_']> = (client: StubTelegramClient) => Responder<Method>\nexport type InputResponder<Method extends tl.RpcMethod['_']> =\n | Responder<Method>\n | ResponderFactory<Method>\n | InputResponder<Method>[]\n"]}
|
package/cjs/utils.d.ts
DELETED
package/cjs/utils.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.markedIdToPeer = void 0;
|
|
4
|
-
const core_1 = require("@mtcute/core");
|
|
5
|
-
function markedIdToPeer(id) {
|
|
6
|
-
const [type, bareId] = (0, core_1.parseMarkedPeerId)(id);
|
|
7
|
-
switch (type) {
|
|
8
|
-
case 'user':
|
|
9
|
-
return { _: 'peerUser', userId: bareId };
|
|
10
|
-
case 'chat':
|
|
11
|
-
return { _: 'peerChat', chatId: bareId };
|
|
12
|
-
case 'channel':
|
|
13
|
-
return { _: 'peerChannel', channelId: bareId };
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.markedIdToPeer = markedIdToPeer;
|
|
17
|
-
//# sourceMappingURL=utils.js.map
|
package/cjs/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AAEpD,SAAgB,cAAc,CAAC,EAAU;IACrC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAA,wBAAiB,EAAC,EAAE,CAAC,CAAA;IAE5C,QAAQ,IAAI,EAAE;QACV,KAAK,MAAM;YACP,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC5C,KAAK,MAAM;YACP,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC5C,KAAK,SAAS;YACV,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KACrD;AACL,CAAC;AAXD,wCAWC","sourcesContent":["import { parseMarkedPeerId, tl } from '@mtcute/core'\n\nexport function markedIdToPeer(id: number): tl.TypePeer {\n const [type, bareId] = parseMarkedPeerId(id)\n\n switch (type) {\n case 'user':\n return { _: 'peerUser', userId: bareId }\n case 'chat':\n return { _: 'peerChat', chatId: bareId }\n case 'channel':\n return { _: 'peerChannel', channelId: bareId }\n }\n}\n"]}
|