* Feat: Add NotEmpty and NegativePattern constraints to StringParam; implement Closed for MapParam
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: add validation support for array and map parameters
- Introduced validators for ArrayParam and MapParam, allowing for cross-field validation within structured parameters.
- Added NonEmpty validation for ArrayParam to ensure arrays are not empty.
- Implemented ConditionalStructOp for conditional struct generation based on specified conditions.
- Created a new Validator type for defining validation rules with optional guard conditions.
- Added tests for various validation scenarios, including mutual exclusion and conditional parameters.
- Enhanced the CUE generation logic to incorporate new validation features and conditional struct handling.
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: extend fluent API with new scoped field conditions and improve validation checks
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: enhance ArrayParam with NotEmpty constraint and update ScopedField documentation
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: rename ScopedField to LocalField for improved clarity in condition building
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: refactor local field conditions to use RegexMatch and streamline condition building
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: simplify condition handling by removing unused comparison types and refactoring NotCondition usage
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* refactor: remove unused raw CUE block handling from baseDefinition and ComponentDefinition
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* test: update condition handling in parameter tests to use NotExpr and Cond methods
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* refactor: remove negative pattern handling from StringParam and related tests
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: add support for emitting raw header blocks in template generation
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* refactor: remove non-empty check from ArrayParam and update related tests
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* refactor: convert parameter constraint tests to use Ginkgo and Gomega for improved readability and maintainability
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: extend fluent APIs for OAM with new CUE generation tests and condition evaluations
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* refactor: clean up whitespace in component, cuegen, expr, param, and resource files
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: enhance CUE generation by adding support for new expression types and iterator references
Signed-off-by: Ayush Kumar <aykumar@guidewire.com>
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* refactor: remove unnecessary whitespace in cuegen.go
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* refactor: rename LenOf to LenOfExpr for clarity in comparison methods
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* feat: enhance CUE generation and validation for string arrays in ArrayParam
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* ci: retrigger checks
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
---------
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
Signed-off-by: Ayush Kumar <aykumar@guidewire.com>
Co-authored-by: Ayush Kumar <aykumar@guidewire.com>