2022-02-27 14:58:41 +00:00
|
|
|
import { JOB_STATUS } from "../constants";
|
|
|
|
import FlowNodeModel from "../models/FlowNode";
|
|
|
|
import { calculate } from "../calculators";
|
|
|
|
|
|
|
|
// @calculation: {
|
|
|
|
// calculator: 'concat',
|
|
|
|
// operands: [
|
|
|
|
// {
|
|
|
|
// type: 'calculation',
|
|
|
|
// options: {
|
|
|
|
// calculator: 'add',
|
|
|
|
// operands: [{ value: 1 }, { value: 2 }]
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// type: 'constant',
|
|
|
|
// value: '{{$context.data.title}}'
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// type: 'context',
|
|
|
|
// options: {
|
|
|
|
// path: 'data.title'
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// type: 'constant',
|
|
|
|
// value: 1
|
|
|
|
// }
|
|
|
|
// ]
|
|
|
|
// }
|
|
|
|
|
|
|
|
export default {
|
|
|
|
async run(this: FlowNodeModel, prevJob, execution) {
|
|
|
|
const { calculation } = this.config || {};
|
|
|
|
|
|
|
|
const result = calculation
|
|
|
|
? calculate({
|
2022-04-13 16:05:13 +00:00
|
|
|
type: '$calculation',
|
2022-02-27 14:58:41 +00:00
|
|
|
options: execution.getParsedValue(calculation)
|
|
|
|
}, prevJob, execution)
|
|
|
|
: null;
|
|
|
|
|
|
|
|
return {
|
|
|
|
result,
|
|
|
|
status: JOB_STATUS.RESOLVED
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|