Skip to content

Conversation

dreamorosi
Copy link
Contributor

Description of your changes

This PR continues the implementation of the base components of the JMESPath utility.

Specifically, the PR adds a new Expression class and a series of utilities.

The expression class is a data structure that represents a JMESPath expression. It's used by the Parser (#2211) and uses a tree interpreter (#2209) to visit each node.

In regards to the utility, these are used mainly as part of the logic that will support the JMESPath functions (#2207). Each one of the utilities has been documented and in most cases builds upon existing type utilities present in the commons package (introduced in #2189).

This PR also includes a stub for a module called TreeInterpreter that will be implemented later on (#2209).

Related issues, RFCs

Issue number: #2208

Checklist

  • My changes meet the tenets criteria
  • I have performed a self-review of my own code
  • I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or 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 change is effective and works
  • The PR title follows the conventional commit semantics

Breaking change checklist

Is it a breaking change?: NO

  • I have documented the migration process
  • I have added, implemented necessary warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

@dreamorosi dreamorosi self-assigned this Mar 12, 2024
@pull-request-size pull-request-size bot added the size/L PRs between 100-499 LOC label Mar 12, 2024
@github-actions github-actions bot added the feature PRs that introduce new features or minor changes label Mar 12, 2024
@dreamorosi dreamorosi linked an issue Mar 12, 2024 that may be closed by this pull request
2 tasks
@pull-request-size pull-request-size bot added size/XL PRs between 500-999 LOC, often PRs that grown with feedback and removed size/L PRs between 100-499 LOC labels Mar 12, 2024
@pull-request-size pull-request-size bot added size/L PRs between 100-499 LOC and removed size/XL PRs between 500-999 LOC, often PRs that grown with feedback labels Mar 12, 2024
@dreamorosi dreamorosi marked this pull request as ready for review March 12, 2024 18:42
@dreamorosi dreamorosi requested a review from a team March 12, 2024 18:42
@dreamorosi dreamorosi requested a review from a team as a code owner March 12, 2024 18:42
Copy link

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@dreamorosi dreamorosi merged commit cd01ecf into main Mar 18, 2024
@dreamorosi dreamorosi deleted the feat/expression_utils branch March 18, 2024 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature PRs that introduce new features or minor changes size/L PRs between 100-499 LOC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature request: JMESPath expression class and utilities
2 participants