chore: CE changes for JSModule execution (#29489)

## Description

- Add `isAnyJSAction` method to check for JSAction and JSModule in EE

#### PR fixes following issue(s)


#### Type of change

- Chore 

## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced the evaluation logic to include a broader range of JavaScript
actions.

- **Refactor**
- Streamlined JavaScript action checks within the evaluation process for
dynamic bound values.

- **Documentation**
- Updated function descriptions to reflect the new evaluation
capabilities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Rishabh Rathod 2023-12-11 13:14:27 +05:30 committed by GitHub
parent 544c3705e8
commit c29a7e1712
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -394,6 +394,14 @@ export function isJSAction(entity: DataTreeEntity): entity is JSActionEntity {
entity.ENTITY_TYPE === ENTITY_TYPE_VALUE.JSACTION
);
}
/**
*
* isAnyJSAction checks if the entity is a JSAction ( or a JSModuleInstance on EE )
*/
export function isAnyJSAction(entity: DataTreeEntity) {
return isJSAction(entity);
}
export function isJSActionConfig(
entity: DataTreeEntityConfig,
): entity is JSActionEntityConfig {

View File

@ -59,6 +59,7 @@ import {
DataTreeDiffEvent,
resetValidationErrorsForEntityProperty,
isAPathDynamicBindingPath,
isAnyJSAction,
} from "@appsmith/workers/Evaluation/evaluationUtils";
import {
difference,
@ -1395,7 +1396,7 @@ export default class DataTreeEvaluator {
const { errors: evalErrors, result } = this.evaluateDynamicBoundValue(
toBeSentForEval,
data,
!!entity && isJSAction(entity),
!!entity && isAnyJSAction(entity),
contextData,
callBackData,
);