Skip to content

feat(jmespath): add base types and errors #2192

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Mar 11, 2024
Merged

Conversation

dreamorosi
Copy link
Contributor

@dreamorosi dreamorosi commented Mar 8, 2024

Description of your changes

This PR adds the base components for the JMESPath utility. These includes constants, types, and error definitions.

The types include all the data structures used in the utility, most of which will be exposed to customers.

The error definitions include all the possible error types that can be thrown by the utility either during parsing, tokenization, or data extraction.

Finally, the constants includes the grammar for the JMESPath query language implemented according to spec:

  • Allowed characters/tokens/identifiers
  • Supported digits and alphabet
  • Binding power hash map - this hash map determines which tokens are processed together with others or as separate operations.

The PR also includes a stub for a module called Functions that will be added in a future PR.

Related issues, RFCs

Issue number: #2193

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 8, 2024
@dreamorosi dreamorosi requested a review from a team March 8, 2024 18:26
@dreamorosi dreamorosi requested a review from a team as a code owner March 8, 2024 18:26
@pull-request-size pull-request-size bot added the size/XL PRs between 500-999 LOC, often PRs that grown with feedback label Mar 8, 2024
@github-actions github-actions bot added the feature PRs that introduce new features or minor changes label Mar 8, 2024

This comment was marked as resolved.

@github-actions github-actions bot added do-not-merge This item should not be merged need-issue This PR needs an issue before it can be reviewed/worked on further labels Mar 8, 2024
@dreamorosi dreamorosi added jmespath This item relates to the JMESPath Utility and removed do-not-merge This item should not be merged need-issue This PR needs an issue before it can be reviewed/worked on further labels Mar 8, 2024
@dreamorosi dreamorosi linked an issue Mar 8, 2024 that may be closed by this pull request
2 tasks
@dreamorosi
Copy link
Contributor Author

Hi @am29d, the docs workflow is failing because I made a mistake in the type doc config of this new utility.

Once this PR is merged the issue will go away.

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

@am29d am29d merged commit b012173 into main Mar 11, 2024
11 checks passed
@am29d am29d deleted the feat/jmespath_base_types branch March 11, 2024 11:51
@am29d
Copy link
Contributor

am29d commented Mar 11, 2024

Docs are still failing because of missing README.md file, which will be merged much later. To unblock the docs workflow, I'd remove the jmespath referecne in the API Docs for now

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 jmespath This item relates to the JMESPath Utility size/XL PRs between 500-999 LOC, often PRs that grown with feedback
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature request: define grammar, errors, and types for JMESPath module
2 participants