From 2a97616d80a733af6895ccfab41a757075bc3dd9 Mon Sep 17 00:00:00 2001 From: teidesu <86301490+teidesu@users.noreply.github.com> Date: Sat, 23 Jul 2022 05:03:38 +0300 Subject: [PATCH] fix(codegen): fixed typings codegen, added a test --- packages/core/src/base-client.ts | 2 +- packages/tl-utils/src/codegen/types.ts | 2 +- packages/tl-utils/tests/codegen/reader.spec.ts | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/core/src/base-client.ts b/packages/core/src/base-client.ts index 1214a50f..bafeb0b1 100644 --- a/packages/core/src/base-client.ts +++ b/packages/core/src/base-client.ts @@ -339,7 +339,7 @@ export class BaseTelegramClient extends EventEmitter { langCode: 'en', ...(opts.initConnectionOptions ?? {}), apiId, - query: null, + query: null as any, } } diff --git a/packages/tl-utils/src/codegen/types.ts b/packages/tl-utils/src/codegen/types.ts index e6409c66..eeda5c82 100644 --- a/packages/tl-utils/src/codegen/types.ts +++ b/packages/tl-utils/src/codegen/types.ts @@ -99,7 +99,7 @@ export function generateTypescriptDefinitionsForTlEntry( genericsIndex[it.name] = 1 if (idx !== 0) genericsString += ', ' - genericsString += `${it.name} extends ${tsType}` + genericsString += `${it.name} extends ${tsType} = ${tsType}` }) genericsString += '>' } diff --git a/packages/tl-utils/tests/codegen/reader.spec.ts b/packages/tl-utils/tests/codegen/reader.spec.ts index d0ac7364..be8b1f7f 100644 --- a/packages/tl-utils/tests/codegen/reader.spec.ts +++ b/packages/tl-utils/tests/codegen/reader.spec.ts @@ -73,6 +73,20 @@ describe('generateReaderCodeForTlEntry', () => { ) }) + it('generates code for constructors with arguments before flags field', () => { + test( + 'poll#86e18161 id:long flags:# quiz:flags.3?true question:string = Poll;', + 'var id=r.long(),', + 'flags=r.uint();', + 'return{', + "_:'poll',", + 'id:id,', + 'quiz:!!(flags&8),', + 'question:r.string(),', + '}' + ) + }) + it('generates code for constructors with multiple flags fields', () => { test( 'updates.channelDifferenceEmpty#3e11affb flags:# final:flags.0?true pts:int timeout:flags.1?int flags2:# can_delete_channel:flags2.0?true = updates.ChannelDifference;',