@travetto/transformer 3.1.0-rc.4 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/resolver/builder.ts +8 -7
- package/src/state.ts +10 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@travetto/transformer",
|
|
3
|
-
"version": "3.1.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Functionality for AST transformations, with transformer registration, and general utils",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"directory": "module/transformer"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@travetto/manifest": "^3.1.0
|
|
27
|
+
"@travetto/manifest": "^3.1.0",
|
|
28
28
|
"tslib": "^2.5.0",
|
|
29
29
|
"typescript": "^5.0.2"
|
|
30
30
|
},
|
package/src/resolver/builder.ts
CHANGED
|
@@ -53,13 +53,14 @@ export function TypeCategorize(resolver: TransformResolver, type: ts.Type): { ca
|
|
|
53
53
|
} else if (objectFlags & ts.ObjectFlags.Reference && !CoreUtil.getSymbol(type)) { // Tuple type?
|
|
54
54
|
return { category: 'tuple', type };
|
|
55
55
|
} else if (objectFlags & ts.ObjectFlags.Anonymous) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
56
|
+
try {
|
|
57
|
+
const source = DeclarationUtil.getPrimaryDeclarationNode(type).getSourceFile();
|
|
58
|
+
const sourceFile = source.fileName;
|
|
59
|
+
if (sourceFile?.endsWith('.d.ts') && !resolver.isKnownFile(sourceFile)) {
|
|
60
|
+
return { category: 'foreign', type };
|
|
61
|
+
}
|
|
62
|
+
} catch { }
|
|
63
|
+
return { category: 'shape', type };
|
|
63
64
|
} else if (objectFlags & (ts.ObjectFlags.Reference | ts.ObjectFlags.Class | ts.ObjectFlags.Interface)) {
|
|
64
65
|
let resolvedType = type;
|
|
65
66
|
if (CoreUtil.hasTarget(resolvedType)) {
|
package/src/state.ts
CHANGED
|
@@ -2,7 +2,7 @@ import ts from 'typescript';
|
|
|
2
2
|
|
|
3
3
|
import { ManifestIndex, path } from '@travetto/manifest';
|
|
4
4
|
|
|
5
|
-
import { ManagedType, AnyType } from './resolver/types';
|
|
5
|
+
import { ManagedType, AnyType, ForeignType } from './resolver/types';
|
|
6
6
|
import { State, DecoratorMeta, Transformer, ModuleNameⲐ } from './types/visitor';
|
|
7
7
|
import { SimpleResolver } from './resolver/service';
|
|
8
8
|
import { ImportManager } from './importer';
|
|
@@ -356,4 +356,13 @@ export class TransformerState implements State {
|
|
|
356
356
|
getFileImportName(file: string): string {
|
|
357
357
|
return this.#resolver.getFileImportName(file);
|
|
358
358
|
}
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Get foreign target
|
|
362
|
+
*/
|
|
363
|
+
getForeignTarget(state: TransformerState, ret: ForeignType): ts.Expression {
|
|
364
|
+
return state.fromLiteral({
|
|
365
|
+
Ⲑid: `${ret.source.split('node_modules/')[1]}+${ret.name}`
|
|
366
|
+
});
|
|
367
|
+
}
|
|
359
368
|
}
|