Skip to content

Commit 8ed8989

Browse files
kamranayubblakeembrey
authored andcommitted
Add support for TypeScript 2.1.4 (#365)
1 parent 26b162d commit 8ed8989

File tree

17 files changed

+98
-188
lines changed

17 files changed

+98
-188
lines changed

.baseDir.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.vscode/launch.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
// Use IntelliSense to learn about possible Node.js debug attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "node",
9+
"request": "launch",
10+
"name": "Launch Program",
11+
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
12+
"cwd": "${workspaceRoot}",
13+
"args": [
14+
"--no-timeouts"
15+
],
16+
"outFiles": [
17+
"${workspaceRoot}/lib/**/*.js",
18+
"${workspaceRoot}/test/**/*.js"
19+
],
20+
"sourceMaps": true
21+
}
22+
]
23+
}

.vscode/tasks.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
// See https://go.microsoft.com/fwlink/?LinkId=733558
3+
// for the documentation about the tasks.json format
4+
"version": "0.1.0",
5+
"command": "tsc",
6+
"isShellCommand": true,
7+
"args": ["-w", "-p", "."],
8+
"showOutput": "silent",
9+
"isWatching": true,
10+
"problemMatcher": "$tsc-watch"
11+
}

gruntfile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module.exports = function(grunt)
44
pkg: grunt.file.readJSON('package.json'),
55
ts: {
66
typedoc: {
7-
tsconfig: true
7+
tsconfig: { passThrough: true }
88
},
99
typescript: {
1010
options: {

index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"progress": "^1.1.8",
4747
"shelljs": "^0.7.0",
4848
"typedoc-default-themes": "^0.4.0",
49-
"typescript": "2.0.6"
49+
"typescript": "2.1.4"
5050
},
5151
"devDependencies": {
5252
"grunt": "^1.0.1",
@@ -55,7 +55,7 @@
5555
"grunt-contrib-watch": "^1.0.0",
5656
"grunt-mocha-istanbul": "^5.0.1",
5757
"grunt-string-replace": "^1.2.0",
58-
"grunt-ts": "^5.3.0-beta.2",
58+
"grunt-ts": "^5.5.1",
5959
"istanbul": "^0.4.1",
6060
"mocha": "^3.0.2"
6161
},

src/lib/converter/factories/comment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export function getRawComment(node:ts.Node):string {
8888
}
8989

9090
var sourceFile = _ts.getSourceFileOfNode(node);
91-
var comments = _ts.getJsDocComments(node, sourceFile);
91+
var comments = _ts.getJSDocCommentRanges(node, sourceFile.text);
9292
if (comments && comments.length) {
9393
var comment:ts.CommentRange;
9494
if (node.kind == ts.SyntaxKind.SourceFile) {

src/lib/converter/factories/declaration.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ export function createDeclaration(context:Context, node:ts.Node, kind:Reflection
4343
}
4444
}
4545

46+
var modifiers = ts.getCombinedModifierFlags(node);
47+
4648
// Test whether the node is exported
4749
var isExported:boolean;
4850
if (container.kindOf([ReflectionKind.Module, ReflectionKind.ExternalModule])) {
@@ -54,17 +56,18 @@ export function createDeclaration(context:Context, node:ts.Node, kind:Reflection
5456
if (kind == ReflectionKind.ExternalModule) {
5557
isExported = true; // Always mark external modules as exported
5658
} else if (node.parent && node.parent.kind == ts.SyntaxKind.VariableDeclarationList) {
57-
isExported = isExported || !!(node.parent.parent.flags & ts.NodeFlags.Export)
59+
var parentModifiers = ts.getCombinedModifierFlags(node.parent.parent);
60+
isExported = isExported || !!(parentModifiers & ts.ModifierFlags.Export)
5861
} else {
59-
isExported = isExported || !!(node.flags & ts.NodeFlags.Export);
62+
isExported = isExported || !!(modifiers & ts.ModifierFlags.Export);
6063
}
6164

6265
if (!isExported && context.converter.excludeNotExported) {
6366
return null;
6467
}
6568

6669
// Test whether the node is private, when inheriting ignore private members
67-
var isPrivate = !!(node.flags & ts.NodeFlags.Private);
70+
var isPrivate = !!(modifiers & ts.ModifierFlags.Private);
6871
if (context.isInherit && isPrivate) {
6972
return null;
7073
}
@@ -73,7 +76,7 @@ export function createDeclaration(context:Context, node:ts.Node, kind:Reflection
7376
var isConstructorProperty:boolean = false;
7477
var isStatic = false;
7578
if (nonStaticKinds.indexOf(kind) == -1) {
76-
isStatic = !!(node.flags & ts.NodeFlags.Static);
79+
isStatic = !!(modifiers & ts.ModifierFlags.Static);
7780
if (container.kind == ReflectionKind.Class) {
7881
if (node.parent && node.parent.kind == ts.SyntaxKind.Constructor) {
7982
isConstructorProperty = true;
@@ -126,9 +129,11 @@ export function createDeclaration(context:Context, node:ts.Node, kind:Reflection
126129
* @returns The reflection populated with the values of the given node.
127130
*/
128131
function setupDeclaration(context:Context, reflection:DeclarationReflection, node:ts.Node) {
132+
var modifiers = ts.getCombinedModifierFlags(node);
133+
129134
reflection.setFlag(ReflectionFlag.External, context.isExternal);
130-
reflection.setFlag(ReflectionFlag.Protected, !!(node.flags & ts.NodeFlags.Protected));
131-
reflection.setFlag(ReflectionFlag.Public, !!(node.flags & ts.NodeFlags.Public));
135+
reflection.setFlag(ReflectionFlag.Protected, !!(modifiers & ts.ModifierFlags.Protected));
136+
reflection.setFlag(ReflectionFlag.Public, !!(modifiers & ts.ModifierFlags.Public));
132137
reflection.setFlag(ReflectionFlag.Optional, !!(node['questionToken']));
133138

134139
if (

src/lib/converter/nodes/class.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ export class ClassConverter extends ConverterNodeComponent<ts.ClassDeclaration>
3636
context.withScope(reflection, node.typeParameters, () => {
3737
if (node.members) {
3838
node.members.forEach((member) => {
39-
const privateMember = (member.flags & ts.NodeFlags.Private) > 0;
39+
const modifiers = ts.getCombinedModifierFlags(member);
40+
const privateMember = (modifiers & ts.ModifierFlags.Private) > 0;
4041
const exclude = context.converter.excludePrivate ? privateMember : false;
4142

4243
if (!exclude) {

src/lib/converter/nodes/constructor.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,11 @@ export class ConstructorConverter extends ConverterNodeComponent<ts.ConstructorD
6262
* @return The resulting reflection or NULL.
6363
*/
6464
private addParameterProperty(context:Context, parameter:ts.ParameterDeclaration, comment:Comment) {
65-
var visibility = parameter.flags & (ts.NodeFlags.Public | ts.NodeFlags.Protected | ts.NodeFlags.Private);
65+
var modifiers = ts.getCombinedModifierFlags(parameter);
66+
var visibility = modifiers & (ts.ModifierFlags.Public | ts.ModifierFlags.Protected | ts.ModifierFlags.Private);
6667
if (!visibility) return;
6768

68-
const privateParameter = parameter.flags & ts.NodeFlags.Private;
69+
const privateParameter = modifiers & ts.ModifierFlags.Private;
6970
if (privateParameter && context.converter.excludePrivate) return;
7071

7172
var property = createDeclaration(context, parameter, ReflectionKind.Property);

0 commit comments

Comments
 (0)