Skip to content

Commit 0867cc2

Browse files
christopherthielenblakeembrey
authored andcommitted
Use private TypeScript APIs from internal module (#314)
Closes #281
1 parent 603a5ff commit 0867cc2

20 files changed

+208
-167
lines changed

src/lib/converter/convert-expression.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../ts-internal";
23

34

45
/**
@@ -29,7 +30,7 @@ export function convertExpression(expression:ts.Expression):string
2930
case ts.SyntaxKind.FalseKeyword:
3031
return 'false';
3132
default:
32-
var source = ts.getSourceFileOfNode(<ts.Node>expression);
33+
var source = _ts.getSourceFileOfNode(<ts.Node>expression);
3334
return source.text.substring(expression.pos, expression.end);
3435
}
3536
}

src/lib/converter/converter.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../ts-internal";
23
import * as Path from "path";
34

45
import {Application} from "../application";
@@ -331,7 +332,7 @@ export class Converter extends ChildableComponent<Application, ConverterComponen
331332
*/
332333
convert(fileNames:string[]):IConverterResult {
333334
for (var i = 0, c = fileNames.length; i < c; i++) {
334-
fileNames[i] = normalizePath(ts.normalizeSlashes(fileNames[i]));
335+
fileNames[i] = normalizePath(_ts.normalizeSlashes(fileNames[i]));
335336
}
336337

337338
var program = ts.createProgram(fileNames, this.application.options.getCompilerOptions(), this.compilerHost);

src/lib/converter/factories/comment.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {Comment, CommentTag} from "../../models/comments/index";
45

@@ -86,8 +87,8 @@ export function getRawComment(node:ts.Node):string {
8687
}
8788
}
8889

89-
var sourceFile = ts.getSourceFileOfNode(node);
90-
var comments = ts.getJsDocComments(node, sourceFile);
90+
var sourceFile = _ts.getSourceFileOfNode(node);
91+
var comments = _ts.getJsDocComments(node, sourceFile);
9192
if (comments && comments.length) {
9293
var comment:ts.CommentRange;
9394
if (node.kind == ts.SyntaxKind.SourceFile) {

src/lib/converter/factories/parameter.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {ReflectionFlag, ReflectionKind, ParameterReflection, SignatureReflection} from "../../models/reflections/index";
45
import {Context} from "../context";
@@ -22,7 +23,7 @@ export function createParameter(context:Context, node:ts.ParameterDeclaration):P
2223
var parameter = new ParameterReflection(signature, node.symbol.name, ReflectionKind.Parameter);
2324
context.registerReflection(parameter, node);
2425
context.withScope(parameter, () => {
25-
if (ts.isBindingPattern(node.name)) {
26+
if (_ts.isBindingPattern(node.name)) {
2627
parameter.type = context.converter.convertType(context, node.name);
2728
parameter.name = '__namedParameters'
2829
} else {

src/lib/converter/nodes/class.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {Reflection, ReflectionKind, DeclarationReflection} from "../../models/index";
45
import {createDeclaration} from "../factories/index";
@@ -44,7 +45,7 @@ export class ClassConverter extends ConverterNodeComponent<ts.ClassDeclaration>
4445
});
4546
}
4647

47-
var baseType = ts.getClassExtendsHeritageClauseElement(node);
48+
var baseType = _ts.getClassExtendsHeritageClauseElement(node);
4849
if (baseType) {
4950
var type = context.getTypeAtLocation(baseType);
5051
if (!context.isInherit) {
@@ -59,7 +60,7 @@ export class ClassConverter extends ConverterNodeComponent<ts.ClassDeclaration>
5960
}
6061
}
6162

62-
var implementedTypes = ts.getClassImplementsHeritageClauseElements(node);
63+
var implementedTypes = _ts.getClassImplementsHeritageClauseElements(node);
6364
if (implementedTypes) {
6465
implementedTypes.forEach((implementedType) => {
6566
if (!reflection.implementedTypes) {

src/lib/converter/nodes/interface.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {Reflection, ReflectionKind, DeclarationReflection} from "../../models/index";
45
import {createDeclaration} from "../factories/index";
@@ -39,7 +40,7 @@ export class InterfaceConverter extends ConverterNodeComponent<ts.InterfaceDecla
3940
});
4041
}
4142

42-
var baseTypes = ts.getInterfaceBaseTypeNodes(node);
43+
var baseTypes = _ts.getInterfaceBaseTypeNodes(node);
4344
if (baseTypes) {
4445
baseTypes.forEach((baseType) => {
4546
var type = context.getTypeAtLocation(baseType);

src/lib/converter/nodes/variable-statement.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {Reflection, ReflectionKind} from "../../models/index";
45
import {Context} from "../context";
@@ -26,7 +27,7 @@ export class VariableStatementConverter extends ConverterNodeComponent<ts.Variab
2627
convert(context:Context, node:ts.VariableStatement):Reflection {
2728
if (node.declarationList && node.declarationList.declarations) {
2829
node.declarationList.declarations.forEach((variableDeclaration) => {
29-
if (ts.isBindingPattern(variableDeclaration.name)) {
30+
if (_ts.isBindingPattern(variableDeclaration.name)) {
3031
this.convertBindingPattern(context, <ts.BindingPattern>variableDeclaration.name);
3132
} else {
3233
this.owner.convertNode(context, variableDeclaration);
@@ -48,7 +49,7 @@ export class VariableStatementConverter extends ConverterNodeComponent<ts.Variab
4849
node.elements.forEach((element:ts.BindingElement) => {
4950
this.owner.convertNode(context, <any>element);
5051

51-
if (ts.isBindingPattern(element.name)) {
52+
if (_ts.isBindingPattern(element.name)) {
5253
this.convertBindingPattern(context, <ts.BindingPattern>element.name);
5354
}
5455
});

src/lib/converter/nodes/variable.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {Reflection, ReflectionKind, IntrinsicType} from "../../models/index";
45
import {createDeclaration, createComment} from "../factories/index";
@@ -50,9 +51,9 @@ export class VariableConverter extends ConverterNodeComponent<ts.VariableDeclara
5051
}
5152

5253
var name:string, isBindingPattern:boolean;
53-
if (ts.isBindingPattern(node.name)) {
54+
if (_ts.isBindingPattern(node.name)) {
5455
if (node['propertyName']) {
55-
name = ts.declarationNameToString(node['propertyName']);
56+
name = _ts.declarationNameToString(node['propertyName']);
5657
isBindingPattern = true;
5758
} else {
5859
return null;

src/lib/converter/plugins/DecoratorPlugin.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {ReferenceType} from "../../models/types/index";
45
import {Reflection, IDecorator} from "../../models/reflections/index";
@@ -40,10 +41,10 @@ export class DecoratorPlugin extends ConverterComponent
4041
args.forEach((arg:ts.Expression, index:number) => {
4142
if (index < signature.parameters.length) {
4243
var parameter = signature.parameters[index];
43-
result[parameter.name] = ts.getTextOfNode(arg);
44+
result[parameter.name] = _ts.getTextOfNode(arg);
4445
} else {
4546
if (!result['...']) result['...'] = [];
46-
result['...'].push(ts.getTextOfNode(arg));
47+
result['...'].push(_ts.getTextOfNode(arg));
4748
}
4849
});
4950

@@ -87,7 +88,7 @@ export class DecoratorPlugin extends ConverterComponent
8788
}
8889

8990
var info:IDecorator = {
90-
name: ts.getTextOfNode(identifier)
91+
name: _ts.getTextOfNode(identifier)
9192
};
9293

9394
var type = context.checker.getTypeAtLocation(identifier);

src/lib/converter/plugins/SourcePlugin.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as Path from "path";
22
import * as ts from "typescript";
3+
import * as _ts from "../../ts-internal";
34

45
import {Reflection, ProjectReflection, DeclarationReflection} from "../../models/reflections/index";
56
import {SourceDirectory, SourceFile} from "../../models/sources/index";
@@ -92,7 +93,7 @@ export class SourcePlugin extends ConverterComponent
9293
*/
9394
private onDeclaration(context:Context, reflection:Reflection, node?:ts.Node) {
9495
if (!node) return;
95-
var sourceFile = ts.getSourceFileOfNode(node);
96+
var sourceFile = _ts.getSourceFileOfNode(node);
9697
var fileName = sourceFile.fileName;
9798
var file:SourceFile = this.getSourceFile(fileName, context.project);
9899

src/lib/converter/ts-internal.ts

Lines changed: 0 additions & 130 deletions
This file was deleted.

src/lib/converter/types/alias.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {ReferenceType} from "../../models/index";
45
import {Component, ConverterTypeComponent, ITypeNodeConverter} from "../components";
@@ -37,7 +38,7 @@ export class AliasConverter extends ConverterTypeComponent implements ITypeNodeC
3738
if (!symbolName.length) return false;
3839
if (symbolName[0].substr(0, 1) == '"') symbolName.shift();
3940

40-
var nodeName = ts.getTextOfNode(node.typeName).split('.');
41+
var nodeName = _ts.getTextOfNode(node.typeName).split('.');
4142
if (!nodeName.length) return false;
4243

4344
var common = Math.min(symbolName.length, nodeName.length);
@@ -65,7 +66,7 @@ export class AliasConverter extends ConverterTypeComponent implements ITypeNodeC
6566
* @returns A type reference pointing to the type alias definition.
6667
*/
6768
convertNode(context:Context, node:ts.TypeReferenceNode):ReferenceType {
68-
var name = ts.getTextOfNode(node.typeName);
69+
var name = _ts.getTextOfNode(node.typeName);
6970
return new ReferenceType(name, ReferenceType.SYMBOL_ID_RESOLVE_BY_NAME);
7071
}
7172
}

src/lib/converter/types/type-parameter.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23

34
import {Type, TypeParameterType} from "../../models/types/index";
45
import {Component, ConverterTypeComponent, ITypeNodeConverter} from "../components";
@@ -41,7 +42,7 @@ export class TypeParameterConverter extends ConverterTypeComponent implements IT
4142
*/
4243
convertNode(context:Context, node:ts.TypeReferenceNode):Type {
4344
if (node.typeName) {
44-
var name = ts.getTextOfNode(node.typeName);
45+
var name = _ts.getTextOfNode(node.typeName);
4546
if (context.typeParameters && context.typeParameters[name]) {
4647
return context.typeParameters[name].clone();
4748
}

src/lib/converter/utils/compiler-host.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as ts from "typescript";
2+
import * as _ts from "../../ts-internal";
23
import * as Path from "path";
34

45
import {ConverterComponent} from "../components";
@@ -57,7 +58,7 @@ export class CompilerHost extends ConverterComponent implements ts.CompilerHost
5758
*/
5859
getDefaultLibFileName(options:ts.CompilerOptions):string {
5960
var lib = this.owner.getDefaultLib();
60-
var path = ts.getDirectoryPath(normalizePath(require.resolve('typescript')));
61+
var path = _ts.getDirectoryPath(normalizePath(require.resolve('typescript')));
6162
return Path.join(path, lib);
6263
}
6364

0 commit comments

Comments
 (0)