Skip to content

Commit e510581

Browse files
committed
transform AST with source
1 parent 0aed261 commit e510581

File tree

9 files changed

+24
-17
lines changed

9 files changed

+24
-17
lines changed

src/angular-parser.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ function createAngularParseFunction<
6161
);
6262
}
6363

64+
console.log(result);
65+
6466
return { result, comments, text };
6567
};
6668
}

src/ast-transform/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export { transform } from './transform.ts';
1+
export { transform, transformAst } from './transform.ts';
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { type ASTWithSource } from '@angular/compiler';
2+
3+
import { type Transformer } from './transform.ts';
4+
5+
export const visitASTWithSource = (
6+
node: ASTWithSource,
7+
transformer: Transformer,
8+
) => transformer.transformChild(node.ast);

src/ast-transform/transform-parenthesized-expression.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { type ParenthesizedExpression } from '@angular/compiler';
22

3-
import { type Transformer } from '../transform.ts';
3+
import { type Transformer } from './transform.ts';
44

55
export const visitParenthesizedExpression = (
66
node: ParenthesizedExpression,
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
import { type ASTWithSource, type ImplicitReceiver } from '@angular/compiler';
1+
import { type ImplicitReceiver } from '@angular/compiler';
22

3-
function transformUnexpectedNode<T extends ASTWithSource | ImplicitReceiver>(
4-
node: T,
5-
) {
3+
function transformUnexpectedNode<T extends ImplicitReceiver>(node: T) {
64
throw new Error(`Unexpected node type '${node.constructor.name}'`);
75
}
86

97
// Handled in `./transform-member-expression.ts`
108
export const visitImplicitReceiver = transformUnexpectedNode<ImplicitReceiver>;
11-
// Unreachable
12-
export const visitASTWithSource = transformUnexpectedNode<ASTWithSource>;

src/ast-transform/transform.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,12 @@ class Transformer extends Source {
8787
}
8888
}
8989

90-
const transform = (node: angular.AST, text: string) => {
90+
const transformAst = (node: angular.AST, text: string) => {
9191
return Transformer.transform(node, text);
9292
};
9393

94-
export { transform, Transformer };
94+
const transform = (ast: angular.ASTWithSource) => {
95+
return Transformer.transform(ast, ast.source!);
96+
};
97+
98+
export { transform, transformAst, Transformer };

src/ast-transform/transforms.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export * from './transform-array-expression.ts';
2+
export * from './transform-ast-with-source.ts';
23
export * from './transform-binary-expression.ts';
34
export * from './transform-call-expression.ts';
45
export * from './transform-chained-expression.ts';

src/transform-template-binding.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
VariableBinding as NGVariableBinding,
55
} from '@angular/compiler';
66

7-
import { transform as transformAst } from './ast-transform/index.ts';
7+
import { transformAst } from './ast-transform/index.ts';
88
import { Source } from './source.ts';
99
import type {
1010
NGMicrosyntax,

src/transform.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,8 @@ import type {
55
import { transform as transformAst } from './ast-transform/index.ts';
66
import { transform as transformTemplateBindings } from './transform-template-binding.ts';
77

8-
function transformAstResult({
9-
result: { ast },
10-
text,
11-
comments,
12-
}: AstParseResult) {
13-
return Object.assign(transformAst(ast, text), { comments });
8+
function transformAstResult({ result, comments }: AstParseResult) {
9+
return Object.assign(transformAst(result), { comments });
1410
}
1511

1612
function transformMicrosyntaxResult({

0 commit comments

Comments
 (0)