Skip to content

Use Smithy's JMESPath evaluator#967

Open
robin-aws wants to merge 30 commits intomainfrom
smithy-jmespath-evaluator
Open

Use Smithy's JMESPath evaluator#967
robin-aws wants to merge 30 commits intomainfrom
smithy-jmespath-evaluator

Conversation

@robin-aws
Copy link

@robin-aws robin-aws commented Dec 5, 2025

Description of changes:

Replaces the guts of the JMESPathDocumentQuery logic with the new JMESPath evaluation feature from core Smithy, together with a DocumentJmespathRuntime adaptor. Also adds a GeneratedTypeJmespathRuntime adaptor to allow evaluating JMESPath expressions directly against code-generated types (builtin types like String, Boolean, Map, and List, together with SerializableStruct and two new SmithyEnum and SmithyIntEnum interfaces) to avoid having to convert to a Document first.

Covered by existing tests, and hooking up the JMESPath compliance tests from smithy-jmespath-tests for both runtimes. Note that the copy of those tests in this project accidentally put the wrong content in slices.json, and missing those tests hid a few bugs in evaluating slices in the old logic! :)

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

@robin-aws robin-aws changed the title Smithy jmespath evaluator Use Smithy's JMESPath evaluator Dec 5, 2025
@robin-aws robin-aws force-pushed the smithy-jmespath-evaluator branch from 22cdbd1 to 571627d Compare January 26, 2026 16:54
@mtdowling mtdowling force-pushed the smithy-jmespath-evaluator branch from 571627d to 3897b7b Compare March 5, 2026 20:16
mtdowling and others added 6 commits March 5, 2026 14:21
…ithy-java into smithy-jmespath-evaluator

# Conflicts:
#	gradle/libs.versions.toml
#	jmespath/src/main/java/software/amazon/smithy/java/jmespath/DocumentJmespathRuntime.java
#	jmespath/src/main/java/software/amazon/smithy/java/jmespath/GeneratedTypeJmespathRuntime.java
@robin-aws robin-aws marked this pull request as ready for review March 13, 2026 00:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants