@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
34 lines • 1.36 kB
JavaScript
import { FlowGraphBlock } from "../../../flowGraphBlock.js";
import { RichTypeAny } from "../../../flowGraphRichTypes.js";
/**
* This block takes in a function that is defined OUTSIDE of the flow graph and executes it.
* The function can be a normal function or an async function.
* The function's arguments will be the value of the input connection as the first variable, and the flow graph context as the second variable.
*/
export class FlowGraphCodeExecutionBlock extends FlowGraphBlock {
/**
* Construct a FlowGraphCodeExecutionBlock.
* @param config construction parameters
*/
constructor(config) {
super(config);
this.config = config;
this.executionFunction = this.registerDataInput("function", RichTypeAny);
this.value = this.registerDataInput("value", RichTypeAny);
this.result = this.registerDataOutput("result", RichTypeAny);
}
/**
* @internal
*/
_updateOutputs(context) {
const func = this.executionFunction.getValue(context);
const value = this.value.getValue(context);
if (func) {
this.result.setValue(func(value, context), context);
}
}
getClassName() {
return "FlowGraphCodeExecutionBlock" /* FlowGraphBlockNames.CodeExecution */;
}
}
//# sourceMappingURL=flowGraphCodeExecutionBlock.js.map