@mtcute/core 0.16.0 → 0.16.1

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 (69) hide show
  1. package/cjs/highlevel/client.d.ts +29 -2
  2. package/cjs/highlevel/client.js.map +1 -1
  3. package/cjs/highlevel/methods/chats/delete-user-history.d.ts +5 -0
  4. package/cjs/highlevel/methods/chats/delete-user-history.js +4 -2
  5. package/cjs/highlevel/methods/chats/delete-user-history.js.map +1 -1
  6. package/cjs/highlevel/methods/forums/delete-forum-topic-history.d.ts +7 -1
  7. package/cjs/highlevel/methods/forums/delete-forum-topic-history.js +5 -2
  8. package/cjs/highlevel/methods/forums/delete-forum-topic-history.js.map +1 -1
  9. package/cjs/highlevel/methods/messages/delete-messages.d.ts +5 -0
  10. package/cjs/highlevel/methods/messages/delete-messages.js +4 -2
  11. package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
  12. package/cjs/highlevel/methods/messages/read-history.d.ts +5 -0
  13. package/cjs/highlevel/methods/messages/read-history.js +11 -7
  14. package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
  15. package/cjs/highlevel/methods/messages/read-reactions.d.ts +7 -1
  16. package/cjs/highlevel/methods/messages/read-reactions.js +5 -2
  17. package/cjs/highlevel/methods/messages/read-reactions.js.map +1 -1
  18. package/cjs/highlevel/methods/messages/send-common.d.ts +2 -2
  19. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  20. package/cjs/highlevel/methods/messages/send-text.js +3 -3
  21. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  22. package/cjs/highlevel/methods/messages/unpin-all-messages.d.ts +5 -0
  23. package/cjs/highlevel/methods/messages/unpin-all-messages.js +8 -6
  24. package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  25. package/cjs/highlevel/updates/types.d.ts +2 -0
  26. package/cjs/highlevel/updates/types.js.map +1 -1
  27. package/cjs/highlevel/worker/invoker.js +1 -1
  28. package/cjs/highlevel/worker/invoker.js.map +1 -1
  29. package/cjs/highlevel/worker/protocol.d.ts +1 -1
  30. package/cjs/highlevel/worker/protocol.js +9 -6
  31. package/cjs/highlevel/worker/protocol.js.map +1 -1
  32. package/cjs/highlevel/worker/worker.js +6 -3
  33. package/cjs/highlevel/worker/worker.js.map +1 -1
  34. package/cjs/network/network-manager.js +1 -1
  35. package/esm/highlevel/client.d.ts +29 -2
  36. package/esm/highlevel/client.js.map +1 -1
  37. package/esm/highlevel/methods/chats/delete-user-history.d.ts +5 -0
  38. package/esm/highlevel/methods/chats/delete-user-history.js +4 -2
  39. package/esm/highlevel/methods/chats/delete-user-history.js.map +1 -1
  40. package/esm/highlevel/methods/forums/delete-forum-topic-history.d.ts +7 -1
  41. package/esm/highlevel/methods/forums/delete-forum-topic-history.js +5 -2
  42. package/esm/highlevel/methods/forums/delete-forum-topic-history.js.map +1 -1
  43. package/esm/highlevel/methods/messages/delete-messages.d.ts +5 -0
  44. package/esm/highlevel/methods/messages/delete-messages.js +4 -2
  45. package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
  46. package/esm/highlevel/methods/messages/read-history.d.ts +5 -0
  47. package/esm/highlevel/methods/messages/read-history.js +11 -7
  48. package/esm/highlevel/methods/messages/read-history.js.map +1 -1
  49. package/esm/highlevel/methods/messages/read-reactions.d.ts +7 -1
  50. package/esm/highlevel/methods/messages/read-reactions.js +5 -2
  51. package/esm/highlevel/methods/messages/read-reactions.js.map +1 -1
  52. package/esm/highlevel/methods/messages/send-common.d.ts +2 -2
  53. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  54. package/esm/highlevel/methods/messages/send-text.js +3 -3
  55. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  56. package/esm/highlevel/methods/messages/unpin-all-messages.d.ts +5 -0
  57. package/esm/highlevel/methods/messages/unpin-all-messages.js +8 -6
  58. package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  59. package/esm/highlevel/updates/types.d.ts +2 -0
  60. package/esm/highlevel/updates/types.js.map +1 -1
  61. package/esm/highlevel/worker/invoker.js +2 -2
  62. package/esm/highlevel/worker/invoker.js.map +1 -1
  63. package/esm/highlevel/worker/protocol.d.ts +1 -1
  64. package/esm/highlevel/worker/protocol.js +9 -6
  65. package/esm/highlevel/worker/protocol.js.map +1 -1
  66. package/esm/highlevel/worker/worker.js +7 -4
  67. package/esm/highlevel/worker/worker.js.map +1 -1
  68. package/esm/network/network-manager.js +1 -1
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AA+DvB,MAAM,UAAU,eAAe,CAAI,MAAS;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAmC,CAAA;IACxE,CAAC;IAED,IAAI,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,MAAwC,CAAA;IACnD,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,+CAA+C;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,2BAA2B;gBAC3B,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG;oBACpB,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBAC3B,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,2BAA2B;gBAC3B,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;YAClD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAwC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,MAA2B;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAiB,CAAA;IACxD,CAAC;IAED,IAAI,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,iEAAiE;YACjE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,MAAsB,CAAA;IACjC,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAgC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5F,2BAA2B;gBAC3B,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAwB,CAAC,CAAA;YACpE,CAAC;iBAAM,CAAC;gBACJ,2BAA2B;gBAC3B,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAkC,CAAC,CAAA;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAsB,CAAA;AACjC,CAAC","sourcesContent":["import Long from 'long'\nimport type { Worker as NodeWorker } from 'node:worker_threads'\n\nimport { tl } from '@mtcute/tl'\n\nimport { ConnectionState } from '../client.types.js'\nimport { SerializedError } from './errors.js'\n\nexport type WorkerInboundMessage =\n | {\n type: 'invoke'\n id: number\n target: 'custom' | 'client' | 'storage' | 'storage-self' | 'storage-peers' | 'app-config'\n method: string\n args: unknown[]\n void: boolean\n withAbort: boolean\n }\n | {\n type: 'abort'\n id: number\n }\n\nexport type WorkerOutboundMessage =\n | { type: 'server_update'; update: SerializedResult<tl.TypeUpdates> }\n | {\n type: 'update'\n update: SerializedResult<tl.TypeUpdate>\n users: SerializedResult<Map<number, tl.TypeUser>>\n chats: SerializedResult<Map<number, tl.TypeChat>>\n hasMin: boolean\n }\n | { type: 'error'; error: unknown }\n | { type: 'stop' }\n | { type: 'conn_state'; state: ConnectionState }\n | {\n type: 'log'\n color: number\n level: number\n tag: string\n fmt: string\n args: unknown[]\n }\n | {\n type: 'result'\n id: number\n result?: SerializedResult<unknown>\n error?: SerializedError\n }\n\nexport type SomeWorker = NodeWorker | Worker | SharedWorker\n\nexport type SendFn = (message: WorkerInboundMessage) => void\nexport type ClientMessageHandler = (message: WorkerOutboundMessage) => void\n\nexport type RespondFn = (message: WorkerOutboundMessage) => void\nexport type WorkerMessageHandler = (message: WorkerInboundMessage, respond: RespondFn) => void\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type WorkerCustomMethods = Record<string, (...args: any[]) => Promise<any>>\n\nexport type SerializedResult<T> = { __serialized__: T }\n\nexport function serializeResult<T>(result: T): SerializedResult<T> {\n if (Array.isArray(result)) {\n return result.map(serializeResult) as unknown as SerializedResult<T>\n }\n\n if (result instanceof Map) {\n for (const [key, value] of result.entries()) {\n result.set(key, serializeResult(value))\n }\n\n return result as unknown as SerializedResult<T>\n }\n\n if (result && typeof result === 'object') {\n // replace Long instances with a special object\n for (const [key, value] of Object.entries(result)) {\n if (Long.isLong(value)) {\n // eslint-disable-next-line\n ;(result as any)[key] = {\n __type: 'long',\n low: value.low,\n high: value.high,\n unsigned: value.unsigned,\n }\n } else {\n // eslint-disable-next-line\n ;(result as any)[key] = serializeResult(value)\n }\n }\n }\n\n return result as unknown as SerializedResult<T>\n}\n\nexport function deserializeResult<T>(result: SerializedResult<T>): T {\n if (Array.isArray(result)) {\n return result.map(deserializeResult) as unknown as T\n }\n\n if (result instanceof Map) {\n for (const [key, value] of result.entries()) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n result.set(key, deserializeResult(value))\n }\n\n return result as unknown as T\n }\n\n if (result && typeof result === 'object') {\n for (const [key, value] of Object.entries(result)) {\n if (value && typeof value === 'object' && (value as Record<string, string>).__type === 'long') {\n // eslint-disable-next-line\n ;(result as any)[key] = Long.fromValue(value as unknown as Long)\n } else {\n // eslint-disable-next-line\n ;(result as any)[key] = deserializeResult(value as SerializedResult<unknown>)\n }\n }\n }\n\n return result as unknown as T\n}\n"]}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AA+DvB,MAAM,UAAU,eAAe,CAAI,MAAS;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAmC,CAAA;IACxE,CAAC;IAED,IAAI,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,MAAwC,CAAA;IACnD,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,+CAA+C;QAC/C,MAAM,SAAS,GAA4B,EAAE,CAAA;QAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,2BAA2B;gBAC3B,SAAS,CAAC,GAAG,CAAC,GAAG;oBACb,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBAC3B,CAAA;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,2BAA2B;gBAC3B,SAAS,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YAC1B,CAAC;QACL,CAAC;QAED,OAAO,SAA2C,CAAA;IACtD,CAAC;IAED,OAAO,MAAwC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,MAA2B;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAiB,CAAA;IACxD,CAAC;IAED,IAAI,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,iEAAiE;YACjE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,MAAsB,CAAA;IACjC,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAgC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5F,2BAA2B;gBAC3B,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAwB,CAAC,CAAA;YACpE,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,2BAA2B;gBAC3B,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAkC,CAAC,CAAA;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAsB,CAAA;AACjC,CAAC","sourcesContent":["import Long from 'long'\nimport type { Worker as NodeWorker } from 'node:worker_threads'\n\nimport { tl } from '@mtcute/tl'\n\nimport { ConnectionState } from '../client.types.js'\nimport { SerializedError } from './errors.js'\n\nexport type WorkerInboundMessage =\n | {\n type: 'invoke'\n id: number\n target: 'custom' | 'client' | 'storage' | 'storage-self' | 'storage-peers' | 'app-config'\n method: string\n args: SerializedResult<unknown[]>\n void: boolean\n withAbort: boolean\n }\n | {\n type: 'abort'\n id: number\n }\n\nexport type WorkerOutboundMessage =\n | { type: 'server_update'; update: SerializedResult<tl.TypeUpdates> }\n | {\n type: 'update'\n update: SerializedResult<tl.TypeUpdate>\n users: SerializedResult<Map<number, tl.TypeUser>>\n chats: SerializedResult<Map<number, tl.TypeChat>>\n hasMin: boolean\n }\n | { type: 'error'; error: unknown }\n | { type: 'stop' }\n | { type: 'conn_state'; state: ConnectionState }\n | {\n type: 'log'\n color: number\n level: number\n tag: string\n fmt: string\n args: unknown[]\n }\n | {\n type: 'result'\n id: number\n result?: SerializedResult<unknown>\n error?: SerializedError\n }\n\nexport type SomeWorker = NodeWorker | Worker | SharedWorker\n\nexport type SendFn = (message: WorkerInboundMessage) => void\nexport type ClientMessageHandler = (message: WorkerOutboundMessage) => void\n\nexport type RespondFn = (message: WorkerOutboundMessage) => void\nexport type WorkerMessageHandler = (message: WorkerInboundMessage, respond: RespondFn) => void\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type WorkerCustomMethods = Record<string, (...args: any[]) => Promise<any>>\n\nexport type SerializedResult<T> = { __serialized__: T }\n\nexport function serializeResult<T>(result: T): SerializedResult<T> {\n if (Array.isArray(result)) {\n return result.map(serializeResult) as unknown as SerializedResult<T>\n }\n\n if (result instanceof Map) {\n for (const [key, value] of result.entries()) {\n result.set(key, serializeResult(value))\n }\n\n return result as unknown as SerializedResult<T>\n }\n\n if (result && typeof result === 'object') {\n // replace Long instances with a special object\n const newResult: Record<string, unknown> = {}\n\n for (const [key, value] of Object.entries(result)) {\n if (Long.isLong(value)) {\n // eslint-disable-next-line\n newResult[key] = {\n __type: 'long',\n low: value.low,\n high: value.high,\n unsigned: value.unsigned,\n }\n } else if (typeof value === 'object') {\n // eslint-disable-next-line\n newResult[key] = serializeResult(value)\n } else {\n newResult[key] = value\n }\n }\n\n return newResult as unknown as SerializedResult<T>\n }\n\n return result as unknown as SerializedResult<T>\n}\n\nexport function deserializeResult<T>(result: SerializedResult<T>): T {\n if (Array.isArray(result)) {\n return result.map(deserializeResult) as unknown as T\n }\n\n if (result instanceof Map) {\n for (const [key, value] of result.entries()) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n result.set(key, deserializeResult(value))\n }\n\n return result as unknown as T\n }\n\n if (result && typeof result === 'object') {\n for (const [key, value] of Object.entries(result)) {\n if (value && typeof value === 'object' && (value as Record<string, string>).__type === 'long') {\n // eslint-disable-next-line\n ;(result as any)[key] = Long.fromValue(value as unknown as Long)\n } else if (typeof value === 'object') {\n // eslint-disable-next-line\n ;(result as any)[key] = deserializeResult(value as SerializedResult<unknown>)\n }\n }\n }\n\n return result as unknown as T\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { serializeError } from './errors.js';
2
- import { serializeResult, } from './protocol.js';
2
+ import { deserializeResult, serializeResult, } from './protocol.js';
3
3
  export class TelegramWorker {
4
4
  params;
5
5
  client;
@@ -97,18 +97,21 @@ export class TelegramWorker {
97
97
  });
98
98
  return;
99
99
  }
100
- let args = msg.args;
100
+ let args;
101
101
  if (msg.target === 'client' && msg.method === 'call' && msg.withAbort) {
102
102
  const abort = new AbortController();
103
103
  this.pendingAborts.set(msg.id, abort);
104
104
  args = [
105
- args[0],
105
+ deserializeResult(msg.args[0]),
106
106
  {
107
- ...args[1],
107
+ ...msg.args[1],
108
108
  abortSignal: abort.signal,
109
109
  },
110
110
  ];
111
111
  }
112
+ else {
113
+ args = deserializeResult(msg.args);
114
+ }
112
115
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call
113
116
  Promise.resolve(method.apply(target, args))
114
117
  .then((res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAEH,eAAe,GAIlB,MAAM,eAAe,CAAA;AAOtB,MAAM,OAAgB,cAAc;IAQX;IAPZ,MAAM,CAAoB;IAC1B,SAAS,CAAW;IAIpB,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAA;IAE3D,YAAqB,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACtD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,QAAQ;oBACT,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;oBAC/B,MAAK;gBACT,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBAEhD,IAAI,KAAK,EAAE,CAAC;wBACR,KAAK,CAAC,KAAK,EAAE,CAAA;wBACb,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBACzC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CACtD,IAAI,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,KAAK;YACX,KAAK;YACL,KAAK;YACL,GAAG;YACH,GAAG;YACH,IAAI;SACP,CAAC,CAAA;QACN,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACnB,IAAI,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,GAAG;SACb,CAAC,CACL,CAAA;QACD,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/B,IAAI,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,KAAK;SACR,CAAC,CACL,CAAA;QACD,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QAEnF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC9B,IAAI,CAAC,SAAS,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC/B,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;gBACnC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;gBACnC,MAAM,EAAE,KAAK,CAAC,MAAM;aACvB,CAAC,CACL,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7B,IAAI,CAAC,SAAS,CAAC;gBACX,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;aAClC,CAAC,CACL,CAAA;QACL,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,GAAsD,EAAE,OAAkB;QACvF,8DAA8D;QAC9D,IAAI,MAAW,CAAA;QAEf,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACT,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAA;gBAClC,MAAK;YACT,KAAK,QAAQ;gBACT,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;gBACpB,MAAK;YACT,KAAK,SAAS;gBACV,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;gBAC5B,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAA;gBACjC,MAAK;YACT,KAAK,eAAe;gBAChB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAA;gBAClC,MAAK;YACT,KAAK,YAAY;gBACb,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;gBAC9B,MAAK;YAET,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO,CAAC;oBACJ,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC;iBACnD,CAAC,CAAA;gBAEF,OAAM;YACV,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC;aACtE,CAAC,CAAA;YAEF,OAAM;QACV,CAAC;QAED,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QAEnB,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACpE,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;YACnC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAErC,IAAI,GAAG;gBACH,IAAI,CAAC,CAAC,CAAC;gBACP;oBACI,GAAI,IAAI,CAAC,CAAC,CAAY;oBACtB,WAAW,EAAE,KAAK,CAAC,MAAM;iBAC5B;aACJ,CAAA;QACL,CAAC;QAED,6DAA6D;QAC7D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACtC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACrC,CAAC;YAED,IAAI,GAAG,CAAC,IAAI;gBAAE,OAAM;YAEpB,OAAO,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC;aAC/B,CAAC,CAAA;QACN,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACrC,CAAC;YAED,OAAO,CAAC;gBACJ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC;aAC7B,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACV,CAAC;CACJ","sourcesContent":["import { BaseTelegramClient } from '../base.js'\nimport { serializeError } from './errors.js'\nimport {\n RespondFn,\n serializeResult,\n WorkerCustomMethods,\n WorkerInboundMessage,\n WorkerMessageHandler,\n} from './protocol.js'\n\nexport interface TelegramWorkerOptions<T extends WorkerCustomMethods> {\n client: BaseTelegramClient\n customMethods?: T\n}\n\nexport abstract class TelegramWorker<T extends WorkerCustomMethods> {\n readonly client: BaseTelegramClient\n readonly broadcast: RespondFn\n\n abstract registerWorker(handler: WorkerMessageHandler): RespondFn\n\n readonly pendingAborts = new Map<number, AbortController>()\n\n constructor(readonly params: TelegramWorkerOptions<T>) {\n this.broadcast = this.registerWorker((message, respond) => {\n switch (message.type) {\n case 'invoke':\n this.onInvoke(message, respond)\n break\n case 'abort': {\n const abort = this.pendingAborts.get(message.id)\n\n if (abort) {\n abort.abort()\n this.pendingAborts.delete(message.id)\n }\n }\n }\n })\n\n const client = params.client\n this.client = client\n\n client.log.mgr.handler = (color, level, tag, fmt, args) =>\n this.broadcast({\n type: 'log',\n color,\n level,\n tag,\n fmt,\n args,\n })\n client.onError((err) =>\n this.broadcast({\n type: 'error',\n error: err,\n }),\n )\n client.onConnectionState((state) =>\n this.broadcast({\n type: 'conn_state',\n state,\n }),\n )\n client.stopSignal.addEventListener('abort', () => this.broadcast({ type: 'stop' }))\n\n if (client.updates) {\n client.onUpdate((update, peers) =>\n this.broadcast({\n type: 'update',\n update: serializeResult(update),\n users: serializeResult(peers.users),\n chats: serializeResult(peers.chats),\n hasMin: peers.hasMin,\n }),\n )\n } else {\n client.onServerUpdate((update) =>\n this.broadcast({\n type: 'server_update',\n update: serializeResult(update),\n }),\n )\n }\n }\n\n private onInvoke(msg: Extract<WorkerInboundMessage, { type: 'invoke' }>, respond: RespondFn) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let target: any\n\n switch (msg.target) {\n case 'custom':\n target = this.params.customMethods\n break\n case 'client':\n target = this.client\n break\n case 'storage':\n target = this.client.storage\n break\n case 'storage-self':\n target = this.client.storage.self\n break\n case 'storage-peers':\n target = this.client.storage.peers\n break\n case 'app-config':\n target = this.client.appConfig\n break\n\n default: {\n respond({\n type: 'result',\n id: msg.id,\n error: new Error(`Unknown target ${msg.target}`),\n })\n\n return\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const method = target[msg.method]\n\n if (!method) {\n respond({\n type: 'result',\n id: msg.id,\n error: new Error(`Method ${msg.method} not found on ${msg.target}`),\n })\n\n return\n }\n\n let args = msg.args\n\n if (msg.target === 'client' && msg.method === 'call' && msg.withAbort) {\n const abort = new AbortController()\n this.pendingAborts.set(msg.id, abort)\n\n args = [\n args[0],\n {\n ...(args[1] as object),\n abortSignal: abort.signal,\n },\n ]\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n Promise.resolve(method.apply(target, args))\n .then((res) => {\n if (msg.withAbort) {\n this.pendingAborts.delete(msg.id)\n }\n\n if (msg.void) return\n\n respond({\n type: 'result',\n id: msg.id,\n result: serializeResult(res),\n })\n })\n .catch((err) => {\n if (msg.withAbort) {\n this.pendingAborts.delete(msg.id)\n }\n\n respond({\n type: 'result',\n id: msg.id,\n error: serializeError(err),\n })\n })\n }\n}\n"]}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/worker.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseTelegramClient } from '../base.js'\nimport { serializeError } from './errors.js'\nimport {\n deserializeResult,\n RespondFn,\n SerializedResult,\n serializeResult,\n WorkerCustomMethods,\n WorkerInboundMessage,\n WorkerMessageHandler,\n} from './protocol.js'\n\nexport interface TelegramWorkerOptions<T extends WorkerCustomMethods> {\n client: BaseTelegramClient\n customMethods?: T\n}\n\nexport abstract class TelegramWorker<T extends WorkerCustomMethods> {\n readonly client: BaseTelegramClient\n readonly broadcast: RespondFn\n\n abstract registerWorker(handler: WorkerMessageHandler): RespondFn\n\n readonly pendingAborts = new Map<number, AbortController>()\n\n constructor(readonly params: TelegramWorkerOptions<T>) {\n this.broadcast = this.registerWorker((message, respond) => {\n switch (message.type) {\n case 'invoke':\n this.onInvoke(message, respond)\n break\n case 'abort': {\n const abort = this.pendingAborts.get(message.id)\n\n if (abort) {\n abort.abort()\n this.pendingAborts.delete(message.id)\n }\n }\n }\n })\n\n const client = params.client\n this.client = client\n\n client.log.mgr.handler = (color, level, tag, fmt, args) =>\n this.broadcast({\n type: 'log',\n color,\n level,\n tag,\n fmt,\n args,\n })\n client.onError((err) =>\n this.broadcast({\n type: 'error',\n error: err,\n }),\n )\n client.onConnectionState((state) =>\n this.broadcast({\n type: 'conn_state',\n state,\n }),\n )\n client.stopSignal.addEventListener('abort', () => this.broadcast({ type: 'stop' }))\n\n if (client.updates) {\n client.onUpdate((update, peers) =>\n this.broadcast({\n type: 'update',\n update: serializeResult(update),\n users: serializeResult(peers.users),\n chats: serializeResult(peers.chats),\n hasMin: peers.hasMin,\n }),\n )\n } else {\n client.onServerUpdate((update) =>\n this.broadcast({\n type: 'server_update',\n update: serializeResult(update),\n }),\n )\n }\n }\n\n private onInvoke(msg: Extract<WorkerInboundMessage, { type: 'invoke' }>, respond: RespondFn) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let target: any\n\n switch (msg.target) {\n case 'custom':\n target = this.params.customMethods\n break\n case 'client':\n target = this.client\n break\n case 'storage':\n target = this.client.storage\n break\n case 'storage-self':\n target = this.client.storage.self\n break\n case 'storage-peers':\n target = this.client.storage.peers\n break\n case 'app-config':\n target = this.client.appConfig\n break\n\n default: {\n respond({\n type: 'result',\n id: msg.id,\n error: new Error(`Unknown target ${msg.target}`),\n })\n\n return\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const method = target[msg.method]\n\n if (!method) {\n respond({\n type: 'result',\n id: msg.id,\n error: new Error(`Method ${msg.method} not found on ${msg.target}`),\n })\n\n return\n }\n\n let args: unknown[]\n\n if (msg.target === 'client' && msg.method === 'call' && msg.withAbort) {\n const abort = new AbortController()\n this.pendingAborts.set(msg.id, abort)\n\n args = [\n deserializeResult((msg.args as unknown as unknown[])[0] as SerializedResult<unknown>),\n {\n ...((msg.args as unknown as unknown[])[1] as object),\n abortSignal: abort.signal,\n },\n ]\n } else {\n args = deserializeResult(msg.args)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n Promise.resolve(method.apply(target, args))\n .then((res) => {\n if (msg.withAbort) {\n this.pendingAborts.delete(msg.id)\n }\n\n if (msg.void) return\n\n respond({\n type: 'result',\n id: msg.id,\n result: serializeResult(res),\n })\n })\n .catch((err) => {\n if (msg.withAbort) {\n this.pendingAborts.delete(msg.id)\n }\n\n respond({\n type: 'result',\n id: msg.id,\n error: serializeError(err),\n })\n })\n }\n}\n"]}
@@ -255,7 +255,7 @@ export class NetworkManager {
255
255
  _: 'initConnection',
256
256
  deviceModel,
257
257
  systemVersion: '1.0',
258
- appVersion: '0.16.0',
258
+ appVersion: '0.16.1',
259
259
  systemLangCode: 'en',
260
260
  langPack: '', // "langPacks are for official apps only"
261
261
  langCode: 'en',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mtcute/core",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "description": "Type-safe library for MTProto (Telegram API)",
5
5
  "author": "alina sireneva <alina@tei.su>",
6
6
  "license": "MIT",