Skip to content

Commit 5506934

Browse files
Infer type from assertion for export assignment.
1 parent 3833bf5 commit 5506934

File tree

3 files changed

+6
-9
lines changed

3 files changed

+6
-9
lines changed

src/compiler/transformers/declarations.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1529,7 +1529,8 @@ export function transformDeclarations(context: TransformationContext) {
15291529
errorNode: input,
15301530
});
15311531
errorFallbackNode = input;
1532-
const varDecl = factory.createVariableDeclaration(newId, /*exclamationToken*/ undefined, resolver.createTypeOfExpression(input.expression, input, declarationEmitNodeBuilderFlags, symbolTracker), /*initializer*/ undefined);
1532+
const type = ensureType(input);
1533+
const varDecl = factory.createVariableDeclaration(newId, /*exclamationToken*/ undefined, type, /*initializer*/ undefined);
15331534
errorFallbackNode = undefined;
15341535
const statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(SyntaxKind.DeclareKeyword)] : [], factory.createVariableDeclarationList([varDecl], NodeFlags.Const));
15351536

tests/baselines/reference/verbatim-declarations-assertions(strict=false).js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,7 @@ export declare class C {
234234
methodWithRequiredDefault(p: P, req: number): void;
235235
constructor(ctorField?: P);
236236
}
237-
declare const _default: {
238-
name: string;
239-
};
237+
declare const _default: P;
240238
export default _default;
241239
//// [assertToTypeLiteral.d.ts]
242240
export declare let vLet: {} & {
@@ -277,7 +275,7 @@ export declare class C {
277275
name: string;
278276
});
279277
}
280-
declare const _default: {
278+
declare const _default: {} & {
281279
name: string;
282280
};
283281
export default _default;

tests/baselines/reference/verbatim-declarations-assertions(strict=true).js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,9 +238,7 @@ export declare class C {
238238
} | undefined, req: number): void;
239239
constructor(ctorField?: P);
240240
}
241-
declare const _default: {
242-
name: string;
243-
};
241+
declare const _default: P;
244242
export default _default;
245243
//// [assertToTypeLiteral.d.ts]
246244
export declare let vLet: {} & {
@@ -281,7 +279,7 @@ export declare class C {
281279
name: string;
282280
});
283281
}
284-
declare const _default: {
282+
declare const _default: {} & {
285283
name: string;
286284
};
287285
export default _default;

0 commit comments

Comments
 (0)