File tree 2 files changed +25
-0
lines changed
src/lib/template-engine/built-in-extensions/query-builder
test/template-engine/built-in-extensions/query-builder
2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -100,6 +100,7 @@ export class ReqTagBuilder extends TagBuilder {
100
100
if ( ! this . hasMainBuilder ) {
101
101
this . wrapOutputWithBuilder ( ) ;
102
102
}
103
+ this . reset ( ) ;
103
104
}
104
105
105
106
public override getMetadata ( ) {
@@ -147,4 +148,10 @@ export class ReqTagBuilder extends TagBuilder {
147
148
const builder = this . createAsyncExtensionNode ( args , originalChildren ) ;
148
149
this . root . children = [ builder ] ;
149
150
}
151
+
152
+ private reset ( ) {
153
+ this . variableList . clear ( ) ;
154
+ this . root = undefined ;
155
+ this . hasMainBuilder = false ;
156
+ }
150
157
}
Original file line number Diff line number Diff line change @@ -127,3 +127,21 @@ it('Extension should throw an error if there are multiple builders using same na
127
127
`We can't declare multiple builder with same name. Duplicated name: user (declared at 1:7 and 2:7)`
128
128
) ;
129
129
} ) ;
130
+
131
+ it ( 'Extension should reset after compiled each template' , async ( ) => {
132
+ // Arrange
133
+ const { compiler } = await createTestCompiler ( ) ;
134
+ compiler . compile (
135
+ `
136
+ {% req user main %} select * from users; {% endreq %}
137
+ `
138
+ ) ;
139
+ // Act, Arrange
140
+ await expect (
141
+ compiler . compile (
142
+ `
143
+ {% req user main %} select * from users; {% endreq %}
144
+ `
145
+ )
146
+ ) . resolves . not . toThrow ( ) ;
147
+ } ) ;
You can’t perform that action at this time.
0 commit comments