Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit d090fe4

Browse files
committed
if a typedef is exported, export the matching var
Summary: Fixes issue #187. Reviewers: rkirov Reviewed By: rkirov Subscribers: typescript-eng Differential Revision: https://reviews.angular.io/D210
1 parent 4a32c8b commit d090fe4

File tree

4 files changed

+11
-2
lines changed

4 files changed

+11
-2
lines changed

src/tsickle.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,7 @@ class Annotator extends Rewriter {
846846
if (this.options.untyped) return;
847847
// Write a Closure typedef, which involves an unused "var" declaration.
848848
this.emit(`\n/** @typedef {${this.typeToClosure(node)}} */\n`);
849+
if (node.flags & ts.NodeFlags.Export) this.emit('export ');
849850
this.emit(`var ${node.name.getText()}: void;\n`);
850851
}
851852

test_files/typedef/typedef.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
goog.module('test_files.typedef.typedef');var module = module || {id: 'test_files/typedef/typedef.js'};/** @typedef {number} */
1+
goog.module('test_files.typedef.typedef');var module = module || {id: 'test_files/typedef/typedef.js'};
2+
/** @typedef {number} */
23
var MyType;
34
var /** @type {number} */ y = 3;
45
/** @typedef {{value: number, next: ?}} */

test_files/typedef/typedef.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
type MyType = number;
22
var y: MyType = 3;
33

4-
type Recursive = {value: number, next: Recursive};
4+
type Recursive = {value: number, next: Recursive};
5+
6+
export type ExportedType = string;

test_files/typedef/typedef.tsickle.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,8 @@ var /** @type {number} */ y: MyType = 3;
77
type Recursive = {value: number, next: Recursive};
88
/** @typedef {{value: number, next: ?}} */
99
var Recursive: void;
10+
11+
12+
export type ExportedType = string;
13+
/** @typedef {string} */
14+
export var ExportedType: void;

0 commit comments

Comments
 (0)