IssueRaiser

Permit type alias declarations inside a class

I normally want my class declaration to be the first thing in my file: ``` typescript module foo { /** My foo class */ export class MyFoo { } } ``` So when I want to declare an alias, I don't like the fact that my class has been pushed down further: ``` typescript module foo { type foobar = foo.bar.baz.FooBar; /** My foo class */ export class MyFoo { } } ``` I suggest the following be permitted: ``` typescript module foo { /** My foo class */ export class MyFoo { type foobar = foo.bar.baz.FooBar; } } ``` Since `type foobar` is just a compile-time construct, and if people want to write it that way, then they should be permitted to do so. Note that the type `foobar` is private to the class. It should not be permissible to export `foobar`.

Posted by NoelAbrahams on Feb 12, 2016, 10:04 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.5,000 issues0 comments

reliability (Other)

Permit type alias declarations inside a class

NoelAbrahamsFeb 12, 2016, 10:04 PM

I normally want my class declaration to be the first thing in my file: ``` typescript module foo { /** My foo class */ export class MyFoo { } } ``` So when I want to declare an alias, I don't like the fact that my class has been pushed down further: ``` typescript module foo { type foobar = foo.bar.baz.FooBar; /** My foo class */ export class MyFoo { } } ``` I suggest the following be permitted: ``` typescript module foo { /** My foo class */ export class MyFoo { type foobar = foo.bar.baz.FooBar; } } ``` Since `type foobar` is just a compile-time construct, and if people want to write it that way, then they should be permitted to do so. Note that the type `foobar` is private to the class. It should not be permissible to export `foobar`.

Comments (0)

No comments yet. Start the discussion.

Comment on this issue