Skip to content
This repository was archived by the owner on Jun 27, 2018. It is now read-only.

Commit cbdf39f

Browse files
committed
Merge pull request #19 from basarat/patch-1
fix(reference) support reference import lookup
2 parents a3803a8 + 1f28145 commit cbdf39f

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

index.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,22 @@ module tss {
6969
getScriptVersion: (fileName) => this.files[fileName] && this.files[fileName].version.toString(),
7070
getScriptSnapshot: (fileName) => {
7171
var file = this.files[fileName];
72-
return {
73-
getText: (start, end) => file.text.substring(start, end),
74-
getLength: () => file.text.length,
75-
getLineStartPositions: () => [],
76-
getChangeRange: (oldSnapshot) => undefined
77-
};
72+
if (file) {
73+
return {
74+
getText: (start, end) => file.text.substring(start, end),
75+
getLength: () => file.text.length,
76+
getLineStartPositions: (): number[]=> [],
77+
getChangeRange: (oldSnapshot) => undefined
78+
};
79+
}
80+
else { // This is some reference import
81+
return {
82+
getText: (start, end) => '',
83+
getLength: () => 0,
84+
getLineStartPositions: (): number[]=> [],
85+
getChangeRange: (oldSnapshot) => undefined
86+
};
87+
}
7888
},
7989
getCurrentDirectory: () => process.cwd(),
8090
getScriptIsOpen: () => true,

test/test.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,14 @@ describe('typescript-update', function() {
8686
var expected = "var x = 'some string';" + eol;
8787
assert.equal(tss.compile(src), expected);
8888
});
89+
90+
it('reference imports are ignored', function() {
91+
var src = "/// <reference path='./typings/tsd'/>" + eol
92+
+ "var x: number = 'some string';";
93+
var expected = "/// <reference path='./typings/tsd'/>" + eol
94+
+ "var x = 'some string';" + eol;
95+
assert.equal(tss.compile(src), expected);
96+
});
8997

9098
it('syntactic errors are not ignored', function() {
9199
var src = "var x = 123 123;";

0 commit comments

Comments
 (0)