Skip to content

Commit b32d344

Browse files
authored
Merge pull request #24 from timocov/fix23_wrong_generic_type
2 parents 72f1e7b + 9353216 commit b32d344

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed

src/transformer.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,10 @@ function createTransformerFactory(program: ts.Program, options?: Partial<RenameO
289289
const symbol = type.getSymbol();
290290
const propertySymbol = typeChecker.getPropertyOfType(type, typePropertyName);
291291

292+
if (type.flags & ts.TypeFlags.IndexedAccess) {
293+
return isTypePropertyExternal(typeChecker.getApparentType(type), typePropertyName);
294+
}
295+
292296
if (type.flags & ts.TypeFlags.Object) {
293297
const objectType = type as ts.ObjectType;
294298
// treat any tuple property as "external"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export interface Ohlc {
2+
open: number;
3+
high: number;
4+
low: number;
5+
close: number;
6+
}
7+
8+
interface BarValueByType {
9+
Bar: Ohlc;
10+
Line: number;
11+
}
12+
13+
type SeriesType = keyof BarValueByType;
14+
15+
function getBarValue<T extends SeriesType>(value: number, seriesType: T): BarValueByType[T] {
16+
if (seriesType === 'Bar') {
17+
return {
18+
open: value,
19+
high: value,
20+
low: value,
21+
close: value,
22+
} as BarValueByType[T];
23+
} else {
24+
return value as BarValueByType[T];
25+
}
26+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"use strict";
2+
Object.defineProperty(exports, "__esModule", { value: true });
3+
function getBarValue(value, seriesType) {
4+
if (seriesType === 'Bar') {
5+
return {
6+
open: value,
7+
high: value,
8+
low: value,
9+
close: value,
10+
};
11+
}
12+
else {
13+
return value;
14+
}
15+
}

0 commit comments

Comments
 (0)