Skip to content

Commit c6d43ff

Browse files
authored
Merge pull request #2511 from entrylabs/issue/6461
이슈 6461 처리
2 parents 5f7de11 + c279e3c commit c6d43ff

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/class/function.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,17 +177,17 @@ class EntryFunc {
177177
}
178178
}
179179

180-
getValue(variableId) {
180+
getValue(variableId, localVariables) {
181181
const localVariable = _find(
182-
this.localVariables,
182+
localVariables || this.localVariables,
183183
(localVariable) => localVariable.id === variableId
184184
);
185185
return localVariable?.value || 0;
186186
}
187187

188-
setValue(value, variableId) {
188+
setValue(value, variableId, localVariables) {
189189
const localVariable = _find(
190-
this.localVariables,
190+
localVariables || this.localVariables,
191191
(localVariable) => localVariable.id === variableId
192192
);
193193
localVariable.value = value;

src/playground/blocks/block_func.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import _cloneDeep from 'lodash/cloneDeep';
2+
13
module.exports = {
24
getBlocks() {
35
return {
@@ -160,7 +162,7 @@ module.exports = {
160162
const [funcId, idx] = variableId.split('_');
161163
const func = Entry.variableContainer.getFunction(funcId, idx);
162164

163-
func.setValue(value, variableId);
165+
func.setValue(value, variableId, script.executor.localVariables);
164166

165167
return script.callReturn();
166168
},
@@ -258,7 +260,7 @@ module.exports = {
258260
const variableId = script.getField('VARIABLE', script);
259261
const [funcId] = variableId.split('_');
260262
const func = Entry.variableContainer.getFunction(funcId);
261-
return func.getValue(variableId);
263+
return func.getValue(variableId, script.executor.localVariables);
262264
},
263265
syntax: {
264266
js: [],
@@ -380,6 +382,8 @@ module.exports = {
380382
this.funcExecutor.register.paramMap = func.paramMap;
381383
this.funcExecutor.parentExecutor = this.executor;
382384
this.funcExecutor.isFuncExecutor = true;
385+
this.funcExecutor.localVariables = _cloneDeep(func.localVariables);
386+
func.funcExecutor = this.funcExecutor;
383387
}
384388

385389
const { promises } = this.funcExecutor.execute();
@@ -450,6 +454,8 @@ module.exports = {
450454
this.funcExecutor.register.paramMap = func.paramMap;
451455
this.funcExecutor.parentExecutor = this.executor;
452456
this.funcExecutor.isFuncExecutor = true;
457+
this.funcExecutor.localVariables = _cloneDeep(func.localVariables);
458+
func.funcExecutor = this.funcExecutor;
453459
}
454460

455461
const { promises } = this.funcExecutor.execute();

0 commit comments

Comments
 (0)